efba1e7f4b8b36f0c588ac40ceed8e421f68cfc8
[gnulib.git] / ChangeLog
1 2010-02-22  Eric Blake  <eblake@redhat.com>
2
3         gettimeofday: restore support for platforms that lack function
4         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
5         replacement if function is missing.
6         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
7         * modules/sys_time (Makefile.am): Substitute it.
8         * lib/sys_time.in.h (gettimeofday): Check it.
9         Reported by Michael Goffioul.
10
11 2010-02-21  Bruno Haible  <bruno@clisp.org>
12
13         * lib/stdio.in.h (obstack_printf): Fix typo.
14
15 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
16
17         vc-list-files: use bzr ls's -R option
18         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
19         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
20
21 2010-02-21  Jim Meyering  <meyering@redhat.com>
22
23         init.sh: fix EXEEXT shims to work also for names like test-prog
24         * tests/init.sh: Re-exec a better shell, when needed.
25         If the current shell lacks support for posix $(...), an init.sh-using
26         test will now try to find a shell that supports that.  If EXEEXT is
27         nonempty, we also require support for hyphen-in-alias-name and shell
28         substitutions like ${var#glob}.  Failure to find such a shell results
29         in a skipped test.
30
31 2010-02-21  Bruno Haible  <bruno@clisp.org>
32
33         Really work around around "broken pipe" error message from bash 3.2.
34         * gnulib-tool (func_reset_sigpipe): Remove function.
35         (echo): In bash 3.2, define to a function that uses printf.
36         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
37
38 2010-02-20  Bruno Haible  <bruno@clisp.org>
39
40         Restore support for automake 1.9.6 with autoconf 2.61.
41         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
42         Reported by James Youngman <jay@gnu.org>.
43
44 2010-02-20  Bruno Haible  <bruno@clisp.org>
45
46         Improve *printf warning condition.
47         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
48         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
49         and the function is overridden due to SIGPIPE emulation.
50
51 2010-02-20  Bruno Haible  <bruno@clisp.org>
52
53         * lib/stdio.in.h: Tweak comments.
54
55 2010-02-19  Bruno Haible  <bruno@clisp.org>
56
57         Make it easier to find modules. New gnulib-tool option '--find'.
58         * gnulib-tool: New option --find.
59         (func_usage): Document it.
60         (func_sanitize_modulelist): New function, extracted from
61         func_all_modules.
62         (func_all_modules): Invoke it.
63         * doc/gnulib-tool.texi (Which modules?): New node.
64
65 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
66
67         * lib/sys_select.in.h: Provide select replacement even if
68         sys/select.h exists on a system, for Interix.
69
70 2010-02-18  Jim Meyering  <meyering@redhat.com>
71
72         init.sh: don't use $(...) just yet
73         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
74         to accommodate e.g., Solaris' /bin/sh.
75
76 2010-02-17  Bruno Haible  <bruno@clisp.org>
77
78         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
79         Reported by Ludovic Courtès <ludo@gnu.org>.
80
81 2010-02-16  Simon Josefsson  <simon@josefsson.org>
82
83         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
84         linking with -lintl.
85
86 2010-02-17  Simon Josefsson  <simon@josefsson.org>
87
88         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
89         if not provided by the system's netdb.h.  Reported by
90         ludo@gnu.org (Ludovic Courtès).
91
92 2010-02-15  Jim Meyering  <meyering@redhat.com>
93
94         init.sh: improve portability and efficiency
95         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
96         "dummy" in a for loop.
97         Use '!', not '^' to select the complement of a character set used
98         in a "case" statement.
99         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
100         Suggestions from Eric Blake.
101
102         maint.mk: mark syntax-check sc_*.m rules as .PHONY
103         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
104         "make -t syntax-check" doesn't create a ton of sc_*.m files.
105
106 2010-02-14  Jim Meyering  <meyering@redhat.com>
107
108         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
109         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
110         (sc_prohibit_hash_pjw_without_use): New rule.
111
112         maint.mk: allow the default upload destination dir to be overridden
113         * top/maint.mk (upload_dest_dir_): Define with a default that
114         preserves the status quo.
115         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
116         Reported by Peter Simons.
117
118         maint.mk: prohibit inclusion of "hash.h" without_use
119         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
120
121 2010-02-10  Jim Meyering  <meyering@redhat.com>
122
123         maint.mk: prohibit inclusion of "ignore-value.h" without_use
124         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
125
126 2010-02-09  Eric Blake  <ebb9@byu.net>
127         and Bruno Haible  <bruno@clisp.org>
128
129         obstack-printf-posix: ensure declaration
130         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
131         extracted from gl_FUNC_OBSTACK_PRINTF.
132         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
133         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
134         Likewise.
135         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
136         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
137         0.
138
139 2010-02-08  Bruno Haible  <bruno@clisp.org>
140
141         gnulib-tool: Fix typo in 2010-02-07 commit.
142         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
143         Reported by Eric Blake.
144
145 2010-02-07  Bruno Haible  <bruno@clisp.org>
146
147         gnulib-tool: Fix up caching patches.
148         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
149         option --no-cache. Use associative arrays when supported by the shell.
150         (sed_comments): New variable.
151         (modcache): Renamed from do_cache.
152         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
153         abbreviate unnecessarily.
154         (have_associative): New variable.
155         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
156         way also for ksh and zsh.
157         (func_init_sed_convert_to_cache_statements): New function, extracted
158         from func_cache_lookup_module. Add support for associative arrays.
159         Don't set the c_MODULE_cached variable here. Ignore all lines before
160         the first field header. Remove only the final newline, not all trailing
161         newlines. Support empty fields correctly. Limit the use of 'eval' to
162         assignments.
163         (func_get_description, func_get_status, func_get_notice,
164         func_get_applicability, func_get_filelist, func_get_dependencies,
165         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
166         func_get_automake_snippet, func_get_include_directive,
167         func_get_link_directive, func_get_license, func_get_maintainer):
168         Update documentation. List the unoptimized code first. Add support for
169         associative arrays. Limit the use of 'eval' to assignments.
170         (func_get_applicability): Undo stylistic pessimisations.
171         (func_get_automake_snippet, func_get_include_directive): Reduce code
172         duplication.
173         (func_modules_transitive_closure, func_modules_add_dummy,
174         func_modules_notice, func_modules_to_filelist, func_add_file,
175         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
176         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
177         func_create_testdir, func_create_megatestdir): Update documentation.
178
179 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
180
181         * gnulib-tool (func_cache_lookup_module): Store the module name
182         belonging to the cache variable; error out if two different
183         module names map to the same cache variable name.
184
185 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
186
187         gnulib-tool: Make caching optional.
188         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
189         Update matching short versions of --no-changelog.
190         (func_usage): Update.
191         (sed_extract_cache_prog): Renamed from ...
192         (sed_extract_prog): ... this; revert to old extraction script.
193         (func_get_description, func_get_status)
194         (func_get_notice, func_get_applicability, func_get_filelist)
195         (func_get_dependencies, func_get_autoconf_early_snippet)
196         (func_get_autoconf_snippet, func_get_automake_snippet)
197         (func_get_include_directive, func_get_link_directive)
198         (func_get_license, func_get_maintainer): If $do_cache is false,
199         use old, non-caching extraction scripts.
200         Suggestion by Bruno Haible.
201
202 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
203
204         gnulib-tool: cache module metainformation.
205         * gnulib-tool (sed_extract_prog): Match newline before each
206         header, and rewrite header to a shell variable suffix.
207         (func_cache_var, func_cache_lookup_module): New functions,
208         to turn a module name into a cache variable prefix, and to
209         look up and cache module metainformation.
210         (func_get_description, func_get_status)
211         (func_get_notice, func_get_applicability, func_get_filelist)
212         (func_get_dependencies, func_get_autoconf_early_snippet)
213         (func_get_autoconf_snippet, func_get_automake_snippet)
214         (func_get_include_directive, func_get_link_directive)
215         (func_get_license, func_get_maintainer): Use
216         func_cache_lookup_module.
217
218 2010-02-07  Bruno Haible  <bruno@clisp.org>
219
220         fnctl: Fix missing dependency.
221         * modules/fcntl (Depends-on): Add getdtablesize.
222         Reported by John W. Eaton <jwe@gnu.org>.
223
224 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
225
226         Argp: fix recognition of short alias options.
227
228         * lib/argp-parse.c (convert_options): Fix improper use of
229         `|' between character values.
230         * tests/test-argp.c (group1_option): New alias option
231         --read (-r).
232         (group1_parser): Special handling for 'r'.
233         (test15): New test case.
234         (test_fun): Add test15.
235         * tests/test-argp-2.sh: Update expected --help and --usage
236         outputs.
237
238 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
239
240         * tests/test-argp.c: Fix indentation.
241
242 2010-02-04  Eric Blake  <ebb9@byu.net>
243
244         gettimeofday: expose type of second argument
245         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
246         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
247         * tests/test-gettimeofday.c: Use it to silence warning.
248         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
249         the issue.
250
251 2010-02-03  Jim Meyering  <meyering@redhat.com>
252
253         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
254         * lib/regcomp.c (TYPE_SIGNED): Define.
255         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
256
257         regcomp.c: avoid a new -Wshadow warning
258         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
259
260 2010-02-01  Jim Meyering  <meyering@redhat.com>
261
262         removing useless parentheses in cpp #define directives
263         For motivation, see commit c0221df4, "define STREQ(a,b)
264         consistently, removing useless parentheses"
265         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
266         * lib/mountlist.c (MNT_IGNORE): Likewise.
267         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
268
269 2010-02-01  Eric Blake  <ebb9@byu.net>
270
271         sys_time: use link-warning
272         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
273         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
274         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
275         * modules/sys_time (Depends-on): Add warn-on-use.
276         (Makefile.am): Always build replacement.
277         (configure.ac): Update substitutions.
278         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
279         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
280         bother with SYS_TIME_H.
281         * modules/gettimeofday (configure.ac): Declare indicator.
282         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
283         in use.
284
285         closein-tests: silence compiler warning
286         * tests/test-closein.c (main): Ignore fread result.
287         * modules/closein-tests (Depends-on): Add ignore-value.
288
289         tests: silence warning about system return
290         * tests/test-areadlink-with-size.c (main): Ignore system result.
291         * tests/test-areadlink.c (main): Likewise.
292         * tests/test-areadlinkat-with-size.c (main): Likewise.
293         * tests/test-areadlinkat.c (main): Likewise.
294         * tests/test-canonicalize-lgpl.c (main): Likewise.
295         * tests/test-canonicalize.c (main): Likewise.
296         * tests/test-chown.c (main): Likewise.
297         * tests/test-fchownat.c (main): Likewise.
298         * tests/test-fdutimensat.c (main): Likewise.
299         * tests/test-fstatat.c (main): Likewise.
300         * tests/test-futimens.c (main): Likewise.
301         * tests/test-lchown.c (main): Likewise.
302         * tests/test-link.c (main): Likewise.
303         * tests/test-linkat.c (main): Likewise.
304         * tests/test-lstat.c (main): Likewise.
305         * tests/test-mkdir.c (main): Likewise.
306         * tests/test-mkdirat.c (main): Likewise.
307         * tests/test-mkfifo.c (main): Likewise.
308         * tests/test-mkfifoat.c (main): Likewise.
309         * tests/test-mknod.c (main): Likewise.
310         * tests/test-readlink.c (main): Likewise.
311         * tests/test-remove.c (main): Likewise.
312         * tests/test-rename.c (main): Likewise.
313         * tests/test-renameat.c (main): Likewise.
314         * tests/test-rmdir.c (main): Likewise.
315         * tests/test-symlink.c (main): Likewise.
316         * tests/test-symlinkat.c (main): Likewise.
317         * tests/test-unlink.c (main): Likewise.
318         * tests/test-unlinkat.c (main): Likewise.
319         * tests/test-utimens.c (main): Likewise.
320         * tests/test-utimensat.c (main): Likewise.
321         * modules/areadlink-tests (Depends-on): Add ignore-value.
322         * modules/areadlink-with-size-tests (Depends-on): Likewise.
323         * modules/areadlinkat-tests (Depends-on): Likewise.
324         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
325         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
326         * modules/canonicalize-tests (Depends-on): Likewise.
327         * modules/chown-tests (Depends-on): Likewise.
328         * modules/fdutimensat-tests (Depends-on): Likewise.
329         * modules/futimens-tests (Depends-on): Likewise.
330         * modules/lchown-tests (Depends-on): Likewise.
331         * modules/link-tests (Depends-on): Likewise.
332         * modules/linkat-tests (Depends-on): Likewise.
333         * modules/lstat-tests (Depends-on): Likewise.
334         * modules/mkdir-tests (Depends-on): Likewise.
335         * modules/mkfifo-tests (Depends-on): Likewise.
336         * modules/mkfifoat-tests (Depends-on): Likewise.
337         * modules/mknod-tests (Depends-on): Likewise.
338         * modules/openat-tests (Depends-on): Likewise.
339         * modules/readlink-tests (Depends-on): Likewise.
340         * modules/remove-tests (Depends-on): Likewise.
341         * modules/rename-tests (Depends-on): Likewise.
342         * modules/renameat-tests (Depends-on): Likewise.
343         * modules/rmdir-tests (Depends-on): Likewise.
344         * modules/symlink-tests (Depends-on): Likewise.
345         * modules/symlinkat-tests (Depends-on): Likewise.
346         * modules/unlink-tests (Depends-on): Likewise.
347         * modules/utimens-tests (Depends-on): Likewise.
348         * modules/utimensat-tests (Depends-on): Likewise.
349
350 2010-01-31  Bruno Haible  <bruno@clisp.org>
351
352         Perform the same test for many <math.h> functions.
353         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
354         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
355         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
356         of gl_MATHFUNC.
357         * modules/acos (configure.ac): Likewise.
358         * modules/asin (configure.ac): Likewise.
359         * modules/atan (configure.ac): Likewise.
360         * modules/atan2 (configure.ac): Likewise.
361         * modules/cbrt (configure.ac): Likewise.
362         * modules/copysign (configure.ac): Likewise.
363         * modules/cos (configure.ac): Likewise.
364         * modules/cosh (configure.ac): Likewise.
365         * modules/erf (configure.ac): Likewise.
366         * modules/erfc (configure.ac): Likewise.
367         * modules/exp (configure.ac): Likewise.
368         * modules/fmod (configure.ac): Likewise.
369         * modules/hypot (configure.ac): Likewise.
370         * modules/j0 (configure.ac): Likewise.
371         * modules/j1 (configure.ac): Likewise.
372         * modules/jn (configure.ac): Likewise.
373         * modules/lgamma (configure.ac): Likewise.
374         * modules/log (configure.ac): Likewise.
375         * modules/log10 (configure.ac): Likewise.
376         * modules/log1p (configure.ac): Likewise.
377         * modules/pow (configure.ac): Likewise.
378         * modules/remainder (configure.ac): Likewise.
379         * modules/sin (configure.ac): Likewise.
380         * modules/sinh (configure.ac): Likewise.
381         * modules/tan (configure.ac): Likewise.
382         * modules/tanh (configure.ac): Likewise.
383         * modules/y0 (configure.ac): Likewise.
384         * modules/y1 (configure.ac): Likewise.
385         * modules/yn (configure.ac): Likewise.
386         Suggested by Paolo Bonzini.
387
388 2010-01-31  Bruno Haible  <bruno@clisp.org>
389
390         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
391
392 2010-01-31  Bruno Haible  <bruno@clisp.org>
393
394         Work around getdelim() bug on FreeBSD 8.0.
395         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
396         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
397         not work.
398         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
399         is 1.
400         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
401         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
402         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
403         a non-zero size.
404         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
405
406 2010-01-31  Bruno Haible  <bruno@clisp.org>
407
408         Work around getline() bug on FreeBSD 8.0.
409         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
410         and a non-zero size.
411         * tests/test-getline.c (main): Likewise.
412         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
413         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
414
415 2010-01-28  Eric Blake  <ebb9@byu.net>
416
417         regex: fix build failure
418         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
419         platforms.
420
421 2010-01-28  Jim Meyering  <meyering@redhat.com>
422
423         regex: do not ignore memory allocation failure
424         * lib/regex_internal.c (create_cd_newstate): Detect
425         re_node_set_init_copy failure.   Extracted from glibc commit
426         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
427
428         regex: sync more white-space changes from libc
429         * lib/regex_internal.c: White-space only changes.
430         * lib/regexec.c: Likewise.
431
432         regex: add many uses of __attribute_warn_unused_result__
433         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
434         * lib/regexec.c: Likewise.
435         Extracted from a messy glibc commit.
436
437         regcomp.c: spelling and merge-artifact from glibc
438         * lib/regcomp.c: Merge remainder of glibc's
439         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
440
441         regcomp.c: sync white-space changes from glibc
442         * lib/regcomp.c: Merge to accommodate white space
443         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
444
445         regcomp.c: do not ignore internal return values
446         * lib/regcomp.c: Do not ignore internal return values.
447         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
448         but without its white-space changes and spelling fixes.
449
450         regex_internal.h: define __attribute_warn_unused_result__
451         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
452
453         maint: add a syntax-check rule to check for vulnerable Makefile.in
454         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
455
456 2010-01-27  Jim Meyering  <meyering@redhat.com>
457
458         ncftpput-ftp: clean up spaces
459         * build-aux/ncftpput-ftp: Make Copyright line consistent.
460         Remove trailing blanks.
461
462 2010-01-27  Simon Josefsson  <simon@josefsson.org>
463
464         * build-aux/git-version-gen: Fix copyright statement.
465         * build-aux/gnupload: Likewise.
466         * tests/test-arcfour.c: Likewise.
467         * tests/test-arctwo.c: Likewise.
468         * tests/test-count-one-bits.c: Likewise.
469         * tests/test-crc.c: Likewise.
470         * tests/test-des.c: Likewise.
471         * tests/test-gc-arcfour.c: Likewise.
472         * tests/test-gc-arctwo.c: Likewise.
473         * tests/test-gc-des.c: Likewise.
474         * tests/test-gc-hmac-md5.c: Likewise.
475         * tests/test-gc-hmac-sha1.c: Likewise.
476         * tests/test-gc-md2.c: Likewise.
477         * tests/test-gc-md4.c: Likewise.
478         * tests/test-gc-md5.c: Likewise.
479         * tests/test-gc-pbkdf2-sha1.c: Likewise.
480         * tests/test-gc-rijndael.c: Likewise.
481         * tests/test-gc-sha1.c: Likewise.
482         * tests/test-gc.c: Likewise.
483         * tests/test-gethostname.c: Likewise.
484         * tests/test-gettimeofday.c: Likewise.
485         * tests/test-hash.c: Likewise.
486         * tests/test-hmac-md5.c: Likewise.
487         * tests/test-hmac-sha1.c: Likewise.
488         * tests/test-md2.c: Likewise.
489         * tests/test-md4.c: Likewise.
490         * tests/test-md5.c: Likewise.
491         * tests/test-memchr.c: Likewise.
492         * tests/test-memchr2.c: Likewise.
493         * tests/test-memcmp.c: Likewise.
494         * tests/test-memmem.c: Likewise.
495         * tests/test-memrchr.c: Likewise.
496         * tests/test-rawmemchr.c: Likewise.
497         * tests/test-read-file.c: Likewise.
498         * tests/test-rijndael.c: Likewise.
499         * tests/test-sockets.c: Likewise.
500         * tests/test-strchrnul.c: Likewise.
501         * tests/test-strstr.c: Likewise.
502         * tests/test-strtod.c: Likewise.
503         * build-aux/ncftpput-ftp: Likewise.
504
505 2010-01-26  Eric Blake  <ebb9@byu.net>
506
507         ignore-value: update recommended header name
508         * modules/ignore-value (Include): Only use <> for headers that
509         exist in glibc.
510
511 2010-01-26  Jim Meyering  <meyering@redhat.com>
512
513         test-userspec.c: avoid compiler warnings
514         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
515         and "initialization discards qualifiers..." warnings.
516         Put the first "uid" in its own scope, and make char* members "const".
517
518 2010-01-25  Bruno Haible  <bruno@clisp.org>
519
520         gnulib-tool: Make warning diagnostics consistent.
521         * gnulib-tool (func_warning): New function.
522         Use it everywhere where gnulib-tool produces output to stderr and it is
523         not a fatal error.
524
525 2010-01-25  Bruno Haible  <bruno@clisp.org>
526
527         Fix test dependencies.
528         * modules/xstrtol-tests (Depends-on): Add inttypes.
529         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
530
531 2010-01-25 Pádraig Brady <P@draigBrady.com>
532
533         syntax-check: detect incorrect boolean macro values in config.h
534         * modules/maintainer-makefile (configure.ac): Parameterize the location
535         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
536         The logic is from Eric Blake and the location indicated by Jim Meyering.
537         Note the more natural CONFIG_HEADER name is prohibited by automake
538         for backwards compatibility reasons.
539         * top/maint.mk (sc_Wundef_boolean): New rule.
540
541 2010-01-25  Jim Meyering  <meyering@redhat.com>
542
543         bootstrap: detect MacOS 10.6's shasum, too
544         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
545         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
546
547 2010-01-23  Jim Meyering  <meyering@redhat.com>
548
549         xstrtoll: new module
550         * modules/xstrtoll: New file.
551         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
552         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
553         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
554         ./configure fails if you use this module and lack "long long".
555         * modules/xstrtoll-tests: New module.
556         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
557         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
558         new init.sh-based test framework.
559
560 2010-01-24  Bruno Haible  <bruno@clisp.org>
561
562         Tests for module 'yn'.
563         * modules/yn-tests: New file.
564         * tests/test-yn.c: New file.
565
566         Tests for module 'y1'.
567         * modules/y1-tests: New file.
568         * tests/test-y1.c: New file.
569
570         Tests for module 'y0'.
571         * modules/y0-tests: New file.
572         * tests/test-y0.c: New file.
573
574         Tests for module 'tanh'.
575         * modules/tanh-tests: New file.
576         * tests/test-tanh.c: New file.
577
578         Tests for module 'tan'.
579         * modules/tan-tests: New file.
580         * tests/test-tan.c: New file.
581
582         Tests for module 'sqrt'.
583         * modules/sqrt-tests: New file.
584         * tests/test-sqrt.c: New file.
585
586         Tests for module 'sinh'.
587         * modules/sinh-tests: New file.
588         * tests/test-sinh.c: New file.
589
590         Tests for module 'sin'.
591         * modules/sin-tests: New file.
592         * tests/test-sin.c: New file.
593
594         Tests for module 'rint'.
595         * modules/rint-tests: New file.
596         * tests/test-rint.c: New file.
597
598         Tests for module 'remainder'.
599         * modules/remainder-tests: New file.
600         * tests/test-remainder.c: New file.
601
602         Tests for module 'pow'.
603         * modules/pow-tests: New file.
604         * tests/test-pow.c: New file.
605
606         Tests for module 'nextafter'.
607         * modules/nextafter-tests: New file.
608         * tests/test-nextafter.c: New file.
609
610         Tests for module 'modf'.
611         * modules/modf-tests: New file.
612         * tests/test-modf.c: New file.
613
614         Tests for module 'logb'.
615         * modules/logb-tests: New file.
616         * tests/test-logb.c: New file.
617
618         Tests for module 'log1p'.
619         * modules/log1p-tests: New file.
620         * tests/test-log1p.c: New file.
621
622         Tests for module 'log10'.
623         * modules/log10-tests: New file.
624         * tests/test-log10.c: New file.
625
626         Tests for module 'log'.
627         * modules/log-tests: New file.
628         * tests/test-log.c: New file.
629
630         Tests for module 'lgamma'.
631         * modules/lgamma-tests: New file.
632         * tests/test-lgamma.c: New file.
633
634         Tests for module 'ldexp'.
635         * modules/ldexp-tests: New file.
636         * tests/test-ldexp.c: New file.
637
638         Tests for module 'jn'.
639         * modules/jn-tests: New file.
640         * tests/test-jn.c: New file.
641
642         Tests for module 'j1'.
643         * modules/j1-tests: New file.
644         * tests/test-j1.c: New file.
645
646         Tests for module 'j0'.
647         * modules/j0-tests: New file.
648         * tests/test-j0.c: New file.
649
650         Tests for module 'hypot'.
651         * modules/hypot-tests: New file.
652         * tests/test-hypot.c: New file.
653
654         Tests for module 'fmod'.
655         * modules/fmod-tests: New file.
656         * tests/test-fmod.c: New file.
657
658         Tests for module 'fabs'.
659         * modules/fabs-tests: New file.
660         * tests/test-fabs.c: New file.
661
662         Tests for module 'exp'.
663         * modules/exp-tests: New file.
664         * tests/test-exp.c: New file.
665
666         Tests for module 'erfc'.
667         * modules/erfc-tests: New file.
668         * tests/test-erfc.c: New file.
669
670         Tests for module 'erf'.
671         * modules/erf-tests: New file.
672         * tests/test-erf.c: New file.
673
674         Tests for module 'cosh'.
675         * modules/cosh-tests: New file.
676         * tests/test-cosh.c: New file.
677
678         Tests for module 'cos'.
679         * modules/cos-tests: New file.
680         * tests/test-cos.c: New file.
681
682         Tests for module 'copysign'.
683         * modules/copysign-tests: New file.
684         * tests/test-copysign.c: New file.
685
686         Tests for module 'cbrt'.
687         * modules/cbrt-tests: New file.
688         * tests/test-cbrt.c: New file.
689
690         Tests for module 'atan2'.
691         * modules/atan2-tests: New file.
692         * tests/test-atan2.c: New file.
693
694         Tests for module 'atan'.
695         * modules/atan-tests: New file.
696         * tests/test-atan.c: New file.
697
698         Tests for module 'asin'.
699         * modules/asin-tests: New file.
700         * tests/test-asin.c: New file.
701
702         Tests for module 'acos'.
703         * modules/acos-tests: New file.
704         * tests/test-acos.c: New file.
705
706 2010-01-24  Bruno Haible  <bruno@clisp.org>
707
708         Fix tests for common <math.h> functions.
709         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
710         code snippet that references the function pointer, rather than merely
711         calling the function. Substitute the FUNC_LIBM variable.
712         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
713         * modules/acos (configure.ac): Likewise.
714         * modules/asin (configure.ac): Likewise.
715         * modules/atan (configure.ac): Likewise.
716         * modules/atan2 (configure.ac): Likewise.
717         * modules/cbrt (configure.ac): Likewise.
718         * modules/copysign (configure.ac): Likewise.
719         * modules/cos (configure.ac): Likewise.
720         * modules/cosh (configure.ac): Likewise.
721         * modules/erf (configure.ac): Likewise.
722         * modules/erfc (configure.ac): Likewise.
723         * modules/exp (configure.ac): Likewise.
724         * modules/fabs (configure.ac): Likewise.
725         * modules/fmod (configure.ac): Likewise.
726         * modules/hypot (configure.ac): Likewise.
727         * modules/j0 (configure.ac): Likewise.
728         * modules/j1 (configure.ac): Likewise.
729         * modules/jn (configure.ac): Likewise.
730         * modules/ldexp (configure.ac): Likewise.
731         * modules/lgamma (configure.ac): Likewise.
732         * modules/log (configure.ac): Likewise.
733         * modules/log10 (configure.ac): Likewise.
734         * modules/log1p (configure.ac): Likewise.
735         * modules/logb (configure.ac): Likewise.
736         * modules/modf (configure.ac): Likewise.
737         * modules/nextafter (configure.ac): Likewise.
738         * modules/pow (configure.ac): Likewise.
739         * modules/remainder (configure.ac): Likewise.
740         * modules/rint (configure.ac): Likewise.
741         * modules/sin (configure.ac): Likewise.
742         * modules/sinh (configure.ac): Likewise.
743         * modules/tan (configure.ac): Likewise.
744         * modules/tanh (configure.ac): Likewise.
745         * modules/y0 (configure.ac): Likewise.
746         * modules/y1 (configure.ac): Likewise.
747         * modules/yn (configure.ac): Likewise.
748
749 2010-01-24  Bruno Haible  <bruno@clisp.org>
750
751         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
752         * tests/test-acosl.c (x): New variable.
753         (main): Store argument in x and fetch it from x.
754         * tests/test-asinl.c (x): New variable.
755         (main): Store argument in x and fetch it from x.
756         * tests/test-atanl.c (x): New variable.
757         (main): Store argument in x and fetch it from x.
758         * tests/test-cosl.c (x): New variable.
759         (main): Store argument in x and fetch it from x.
760         * tests/test-expl.c (x): New variable.
761         (main): Store argument in x and fetch it from x.
762         * tests/test-logl.c (x): New variable.
763         (main): Store argument in x and fetch it from x.
764         * tests/test-sinl.c (x): New variable.
765         (main): Store argument in x and fetch it from x.
766         * tests/test-sqrtl.c (x): New variable.
767         (main): Store argument in x and fetch it from x.
768         * tests/test-tanl.c (x): New variable.
769         (main): Store argument in x and fetch it from x.
770
771 2010-01-24  Bruno Haible  <bruno@clisp.org>
772
773         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
774         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
775         assignments to the initial TESTS_ENVIRONMENT.
776         * doc/gnulib.texi (Unit test modules): Document it.
777         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
778         TESTS_ENVIRONMENT.
779         * modules/btowc-tests (Makefile.am): Likewise.
780         * modules/c-stack-tests (Makefile.am): Likewise.
781         * modules/c-strcase-tests (Makefile.am): Likewise.
782         * modules/copy-file-tests (Makefile.am): Likewise.
783         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
784         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
785         * modules/mbrtowc-tests (Makefile.am): Likewise.
786         * modules/mbscasecmp-tests (Makefile.am): Likewise.
787         * modules/mbscasestr-tests (Makefile.am): Likewise.
788         * modules/mbschr-tests (Makefile.am): Likewise.
789         * modules/mbscspn-tests (Makefile.am): Likewise.
790         * modules/mbsinit-tests (Makefile.am): Likewise.
791         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
792         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
793         * modules/mbspbrk-tests (Makefile.am): Likewise.
794         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
795         * modules/mbsrchr-tests (Makefile.am): Likewise.
796         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
797         * modules/mbsspn-tests (Makefile.am): Likewise.
798         * modules/mbsstr-tests (Makefile.am): Likewise.
799         * modules/nl_langinfo-tests (Makefile.am): Likewise.
800         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
801         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
802         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
803         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
804         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
805         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
806         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
807         * modules/wcrtomb-tests (Makefile.am): Likewise.
808         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
809         * modules/wcsrtombs-tests (Makefile.am): Likewise.
810         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
811         assignments from TESTS_ENVIRONMENT.
812         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
813         augmentation.
814         * modules/argp-version-etc-tests (Makefile.am): Likewise.
815         * modules/atexit-tests (Makefile.am): Likewise.
816         * modules/binary-io-tests (Makefile.am): Likewise.
817         * modules/closein-tests (Makefile.am): Likewise.
818         * modules/dprintf-posix-tests (Makefile.am): Likewise.
819         * modules/exclude-tests (Makefile.am): Likewise.
820         * modules/fflush-tests (Makefile.am): Likewise.
821         * modules/fpending-tests (Makefile.am): Likewise.
822         * modules/fprintf-posix-tests (Makefile.am): Likewise.
823         * modules/freadahead-tests (Makefile.am): Likewise.
824         * modules/freadptr-tests (Makefile.am): Likewise.
825         * modules/freadseek-tests (Makefile.am): Likewise.
826         * modules/fseek-tests (Makefile.am): Likewise.
827         * modules/fseeko-tests (Makefile.am): Likewise.
828         * modules/ftell-tests (Makefile.am): Likewise.
829         * modules/ftello-tests (Makefile.am): Likewise.
830         * modules/idpriv-drop-tests (Makefile.am): Likewise.
831         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
832         * modules/lseek-tests (Makefile.am): Likewise.
833         * modules/parse-duration-tests (Makefile.am): Likewise.
834         * modules/perror-tests (Makefile.am): Likewise.
835         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
836         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
837         * modules/pipe-tests (Makefile.am): Likewise.
838         * modules/pread-tests (Makefile.am): Likewise.
839         * modules/printf-posix-tests (Makefile.am): Likewise.
840         * modules/select-tests (Makefile.am): Likewise.
841         * modules/sigpipe-tests (Makefile.am): Likewise.
842         * modules/tsearch-tests (Makefile.am): Likewise.
843         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
844         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
845         * modules/uniname/uniname-tests (Makefile.am): Likewise.
846         * modules/uniwidth/width-tests (Makefile.am): Likewise.
847         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
848         * modules/version-etc-tests (Makefile.am): Likewise.
849         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
850         * modules/vprintf-posix-tests (Makefile.am): Likewise.
851         * modules/xalloc-die-tests (Makefile.am): Likewise.
852         * modules/xprintf-posix-tests (Makefile.am): Likewise.
853         * modules/xstrtoimax-tests (Makefile.am): Likewise.
854         * modules/xstrtol-tests (Makefile.am): Likewise.
855         * modules/xstrtoumax-tests (Makefile.am): Likewise.
856         * modules/yesno-tests (Makefile.am): Likewise.
857         Suggested by Jim Meyering.
858
859 2010-01-24  Bruno Haible  <bruno@clisp.org>
860
861         More documentation.
862         * doc/gnulib.texi (Writing modules): New chapter.
863         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
864         the new chapter.
865
866 2010-01-24  Jim Meyering  <meyering@redhat.com>
867
868         maint.mk: do not prepend "./" after filtering
869         * top/maint.mk (_prepend_srcdir_prefix): New variable
870         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
871         "./" when $(srcdir) is ".".
872
873         define STREQ(a,b) consistently, removing useless parentheses
874         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
875         since the only risk is that "a" or "b" contains an unparenthesized
876         comma, but if either did that, STREQ would have 3 or more arguments.
877         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
878         * lib/fts.c (STREQ): Remove unnecessary parentheses.
879         * lib/hash-triple.c (STREQ): Likewise.
880         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
881         * lib/getugroups.c (STREQ): Likewise.
882
883 2010-01-23  Jim Meyering  <meyering@redhat.com>
884
885         maint.mk: fix syntax-check in a non-srcdir build directory
886         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
887         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
888
889 2010-01-22  Jim Meyering  <meyering@redhat.com>
890
891         userspec: add unit tests
892         * tests/test-userspec.c: New file.
893         * modules/userspec-tests: Likewise.
894
895 2010-01-21  Jim Meyering  <meyering@redhat.com>
896
897         maint.mk: handle source file names containing "." robustly
898         * top/maint.mk (_dot_escaped_srcdir): Define.
899         (VC_LIST): Use it in LHS of sed substitution.
900
901 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
902
903         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
904         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
905         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
906         from a non-srcdir build.
907
908 2010-01-20  Eric Blake  <ebb9@byu.net>
909
910         warn-on-use: use instead of link-warning
911         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
912         * modules/unistd (Depends-on, Makefile.am): Likewise.
913         * modules/arpa_inet (Depends-on): Replace link-warning with
914         warn-on-use.
915         (Makefile.am): Update rules accordingly.
916         * modules/ctype (Depends-on, Makefile.am): Likewise.
917         * modules/dirent (Depends-on, Makefile.am): Likewise.
918         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
919         * modules/inttypes (Depends-on, Makefile.am): Likewise.
920         * modules/langinfo (Depends-on, Makefile.am): Likewise.
921         * modules/locale (Depends-on, Makefile.am): Likewise.
922         * modules/math (Depends-on, Makefile.am): Likewise.
923         * modules/search (Depends-on, Makefile.am): Likewise.
924         * modules/signal (Depends-on, Makefile.am): Likewise.
925         * modules/spawn (Depends-on, Makefile.am): Likewise.
926         * modules/stdlib (Depends-on, Makefile.am): Likewise.
927         * modules/string (Depends-on, Makefile.am): Likewise.
928         * modules/strings (Depends-on, Makefile.am): Likewise.
929         * modules/sys_file (Depends-on, Makefile.am): Likewise.
930         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
931         * modules/sys_select (Depends-on, Makefile.am): Likewise.
932         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
933         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
934         * modules/sys_times (Depends-on, Makefile.am): Likewise.
935         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
936         * modules/wchar (Depends-on, Makefile.am): Likewise.
937         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
938         should be poisoned.
939         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
940         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
941         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
942         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
943         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
944         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
945         * m4/math_h.m4 (gl_MATH_H): Likewise.
946         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
947         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
948         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
949         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
950         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
951         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
952         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
953         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
954         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
955         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
956         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
957         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
958         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
959         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
960         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
961         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
962         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
963         GL_LINK_WARNING.
964         * lib/ctype.in.h: Likewise.
965         * lib/dirent.in.h: Likewise.
966         * lib/fcntl.in.h: Likewise.
967         * lib/inttypes.in.h: Likewise.
968         * lib/langinfo.in.h: Likewise.
969         * lib/locale.in.h: Likewise.
970         * lib/math.in.h: Likewise.
971         * lib/search.in.h: Likewise.
972         * lib/signal.in.h: Likewise.
973         * lib/spawn.in.h: Likewise.
974         * lib/stdio.in.h: Likewise.
975         * lib/stdlib.in.h: Likewise.
976         * lib/string.in.h: Likewise.
977         * lib/strings.in.h: Likewise.
978         * lib/sys_file.in.h: Likewise.
979         * lib/sys_ioctl.in.h: Likewise.
980         * lib/sys_select.in.h: Likewise.
981         * lib/sys_socket.in.h: Likewise.
982         * lib/sys_stat.in.h: Likewise.
983         * lib/sys_times.in.h: Likewise.
984         * lib/sys_utsname.in.h: Likewise.
985         * lib/unistd.in.h: Likewise.
986         * lib/wchar.in.h: Likewise.
987
988 2010-01-20  Bruno Haible  <bruno@clisp.org>
989
990         Avoid duplicate -lm.
991         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
992         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
993         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
994         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
995         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
996         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
997         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
998         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
999         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
1000         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
1001         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
1002         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
1003         Reported by Paolo Bonzini.
1004
1005 2010-01-19  Bruno Haible  <bruno@clisp.org>
1006
1007         langinfo, nl_langinfo: Relicense under LGPLv2+.
1008         * modules/langinfo (License): Change to LGPLv2+.
1009         * modules/nl_langinfo (License): Likewise.
1010         Patch by David Lutterkort <lutter@redhat.com>.
1011
1012 2010-01-19  Bruno Haible  <bruno@clisp.org>
1013
1014         Avoid compilation error with cc on OSF/1 5.1.
1015         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
1016         statement, not before.
1017         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1018
1019 2010-01-18  Bruno Haible  <bruno@clisp.org>
1020
1021         Avoid a link error due to the __printf__ symbol.
1022         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
1023         and 2.6.x.
1024         (__format__, __printf__): Remove definitions.
1025         * lib/argp-fmtstream.h: Likewise.
1026         * lib/argp.h: Likewise.
1027         * lib/error.h: Likewise.
1028         * lib/vasnprintf.h: Likewise.
1029         * lib/xprintf.h: Likewise.
1030         * lib/xvasprintf.h: Likewise.
1031         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1032
1033 2010-01-18  Bruno Haible  <bruno@clisp.org>
1034
1035         Tests for module 'tanl'.
1036         * modules/tanl-tests: New file.
1037         * tests/test-tanl.c: New file.
1038
1039         Tests for module 'sqrtl'.
1040         * modules/sqrtl-tests: New file.
1041         * tests/test-sqrtl.c: New file.
1042
1043         Tests for module 'sinl'.
1044         * modules/sinl-tests: New file.
1045         * tests/test-sinl.c: New file.
1046
1047         Tests for module 'logl'.
1048         * modules/logl-tests: New file.
1049         * tests/test-logl.c: New file.
1050
1051         Tests for module 'expl'.
1052         * modules/expl-tests: New file.
1053         * tests/test-expl.c: New file.
1054
1055         Tests for module 'cosl'.
1056         * modules/cosl-tests: New file.
1057         * tests/test-cosl.c: New file.
1058
1059         Tests for module 'atanl'.
1060         * modules/atanl-tests: New file.
1061         * tests/test-atanl.c: New file.
1062
1063         Tests for module 'asinl'.
1064         * modules/asinl-tests: New file.
1065         * tests/test-asinl.c: New file.
1066
1067         Tests for module 'acosl'.
1068         * modules/acosl-tests: New file.
1069         * tests/test-acosl.c: New file.
1070
1071         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
1072         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
1073         tanl): Use the standard gnulib idiom.
1074         * lib/cosl.c: Don't include trigl.c and sincosl.c.
1075         * lib/sinl.c: Likewise.
1076         * lib/tanl.c: Don't include trigl.c.
1077         (kernel_tanl): Make static.
1078         * lib/sincosl.c: Include trigl.h first.
1079         * lib/trigl.c: Likewise.
1080         * m4/acosl.m4: New file.
1081         * m4/asinl.m4: New file.
1082         * m4/atanl.m4: New file.
1083         * m4/cosl.m4: New file.
1084         * m4/expl.m4: New file.
1085         * m4/logl.m4: New file.
1086         * m4/sinl.m4: New file.
1087         * m4/sqrtl.m4: New file.
1088         * m4/tanl.m4: New file.
1089         * m4/mathl.m4: Remove file.
1090         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
1091         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
1092         Don't initialize GNULIB_MATHL.
1093         * modules/acosl: New file.
1094         * modules/asinl: New file.
1095         * modules/atanl: New file.
1096         * modules/cosl: New file.
1097         * modules/expl: New file.
1098         * modules/logl: New file.
1099         * modules/sinl: New file.
1100         * modules/sqrtl: New file.
1101         * modules/tanl: New file.
1102         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
1103         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
1104         substitute GNULIB_MATHL.
1105         * modules/mathl: Rewritten.
1106         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
1107         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
1108         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
1109         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
1110         * doc/posix-functions/expl.texi: Mention the 'expl' module.
1111         * doc/posix-functions/logl.texi: Mention the 'logl' module.
1112         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
1113         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
1114         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
1115
1116 2010-01-18  Bruno Haible  <bruno@clisp.org>
1117
1118         sqrt: Make gl_FUNC_SQRT requirable.
1119         * m4/sqrt.m4: New file.
1120         * modules/sqrt (Files): Add it.
1121         (configure.ac): Invoke gl_FUNC_SQRT.
1122
1123 2010-01-18  Bruno Haible  <bruno@clisp.org>
1124
1125         New modules for common <math.h> functions.
1126         * m4/mathfunc.m4: New file.
1127         * modules/acos: New file.
1128         * modules/asin: New file.
1129         * modules/atan: New file.
1130         * modules/atan2: New file.
1131         * modules/cbrt: New file.
1132         * modules/copysign: New file.
1133         * modules/cos: New file.
1134         * modules/cosh: New file.
1135         * modules/erf: New file.
1136         * modules/erfc: New file.
1137         * modules/exp: New file.
1138         * modules/fabs: New file.
1139         * modules/fmod: New file.
1140         * modules/hypot: New file.
1141         * modules/j0: New file.
1142         * modules/j1: New file.
1143         * modules/jn: New file.
1144         * modules/ldexp: New file.
1145         * modules/lgamma: New file.
1146         * modules/log: New file.
1147         * modules/log10: New file.
1148         * modules/log1p: New file.
1149         * modules/logb: New file.
1150         * modules/modf: New file.
1151         * modules/nextafter: New file.
1152         * modules/pow: New file.
1153         * modules/remainder: New file.
1154         * modules/rint: New file.
1155         * modules/sin: New file.
1156         * modules/sinh: New file.
1157         * modules/sqrt: New file.
1158         * modules/tan: New file.
1159         * modules/tanh: New file.
1160         * modules/y0: New file.
1161         * modules/y1: New file.
1162         * modules/yn: New file.
1163         * doc/posix-functions/acos.texi: Mention the 'acos' module.
1164         * doc/posix-functions/asin.texi: Mention the 'asin' module.
1165         * doc/posix-functions/atan.texi: Mention the 'atan' module.
1166         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
1167         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
1168         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
1169         * doc/posix-functions/cos.texi: Mention the 'cos' module.
1170         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
1171         * doc/posix-functions/erf.texi: Mention the 'erf' module.
1172         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
1173         * doc/posix-functions/exp.texi: Mention the 'exp' module.
1174         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
1175         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
1176         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
1177         * doc/posix-functions/j0.texi: Mention the 'j0' module.
1178         * doc/posix-functions/j1.texi: Mention the 'j1' module.
1179         * doc/posix-functions/jn.texi: Mention the 'jn' module.
1180         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
1181         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
1182         * doc/posix-functions/log.texi: Mention the 'log' module.
1183         * doc/posix-functions/log10.texi: Mention the 'log10' module.
1184         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
1185         * doc/posix-functions/logb.texi: Mention the 'logb' module.
1186         * doc/posix-functions/modf.texi: Mention the 'modf' module.
1187         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
1188         * doc/posix-functions/pow.texi: Mention the 'pow' module.
1189         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
1190         * doc/posix-functions/rint.texi: Mention the 'rint' module.
1191         * doc/posix-functions/sin.texi: Mention the 'sin' module.
1192         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
1193         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
1194         * doc/posix-functions/tan.texi: Mention the 'tan' module.
1195         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
1196         * doc/posix-functions/y0.texi: Mention the 'y0' module.
1197         * doc/posix-functions/y1.texi: Mention the 'y1' module.
1198         * doc/posix-functions/yn.texi: Mention the 'yn' module.
1199
1200 2010-01-18  Jim Meyering  <meyering@redhat.com>
1201
1202         ignore-value: relax license to LGPLv2+
1203         * modules/ignore-value (License): Relax to LGPLv2+.
1204
1205         getdate: don't leak when TZ contains two or more '"'s
1206         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
1207         double quote in TZ after the first one.
1208
1209         readtokens: do not leak internal token_lengths buffer
1210         * lib/readtokens.c (readtokens): Free the local, lengths,
1211         when the supplied "token_lengths" parameter is NULL.
1212
1213 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1214
1215         Fix a couple of missing LIBTHREAD link failures on AIX.
1216         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
1217         $(LIBTHREAD).
1218         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
1219
1220         Link test-poll against INET_PTON_LIB.
1221         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
1222         for inet_pton on Solaris 10.
1223
1224 2010-01-17  Bruno Haible  <bruno@clisp.org>
1225
1226         unistdio/*-sprintf: Fix typo in module description.
1227         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
1228         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
1229         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
1230         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
1231         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
1232         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
1233         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
1234         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1235
1236 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1237
1238         gnulib-tool: fix filelist for AIX, HP-UX ksh.
1239         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
1240         variables in shell case patterns, for AIX and HP-UX ksh.
1241
1242         Split large sed scripts, for HP-UX sed.
1243         * modules/stdio: Split sed scripts around 50 sed commands,
1244         to avoid HP-UX limit of 99 commands, in the near future.
1245         * modules/string: Likewise.
1246         * modules/unistd: Likewise.
1247
1248         gnulib-tool: avoid writing in the current directory.
1249         * gnulib-tool (func_emit_lib_Makefile_am)
1250         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
1251         not in the current directory, so concurrent gnulib-tool
1252         instances do not interfere.
1253
1254 2010-01-16  Jim Meyering  <meyering@redhat.com>
1255
1256         doc: update users.txt
1257         * users.txt: Add grep.
1258         (diffutils, gzip): Update URLs.
1259
1260 2010-01-12  Bruno Haible  <bruno@clisp.org>
1261
1262         posix_spawn: Avoid test failure on Cygwin.
1263         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
1264         characters.
1265         Reported by Simon Josefsson.
1266
1267 2010-01-12  Bruno Haible  <bruno@clisp.org>
1268
1269         * tests/test-cond.c (main): When skipping the test, show the reason.
1270
1271 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1272
1273         * lib/striconv.c (str_cd_iconv): Avoid if before free.
1274
1275 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1276
1277         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
1278         VC_LIST_ALWAYS_EXCLUDE_REGEX.
1279
1280 2010-01-12  Eric Blake  <ebb9@byu.net>
1281
1282         build: guarantee AS_VAR_IF
1283         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
1284         (gl_AS_VAR_IF): Move...
1285         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
1286         Reported by Simon Josefsson.
1287
1288 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1289
1290         * lib/stdio.in.h: Fix typo.
1291
1292 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1293
1294         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
1295         libgpg-error.
1296
1297 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1298
1299         * tests/test-xalloc-die.sh: Use $EXEEXT.
1300
1301 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1302             Bruno Haible  <bruno@clisp.org>
1303
1304         getlogin, getlogin_r: Avoid test failure.
1305         * tests/test-getlogin.c: Include <stdio.h>.
1306         (main): Skip the test when the function fails because stdin is not a
1307         tty.
1308         * tests/test-getlogin_r.c: Include <stdio.h>.
1309         (main): Skip the test when the function fails because stdin is not a
1310         tty.
1311
1312 2010-01-11  Eric Blake  <ebb9@byu.net>
1313
1314         tests: avoid more large file warnings
1315         * tests/test-fflush.c: Avoid warning about ftell use.
1316         * tests/test-fseek.c: Avoid warning about fseek use.
1317
1318 2010-01-10  Bruno Haible  <bruno@clisp.org>
1319
1320         nproc: Work better on Linux when /proc and /sys are not mounted.
1321         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
1322         as lower bound when, on glibc/Linux systems,
1323         sysconf (_SC_NPROCESSORS_CONF) returns 1.
1324         Suggested by Pádraig Brady <P@draigbrady.com>.
1325         Reported by Dmitry V. Levin <ldv@altlinux.org>.
1326
1327         nproc: Refactor.
1328         * lib/nproc.c (num_processors_via_affinity_mask): New function,
1329         extracted from num_processors.
1330         (num_processors): Call it.
1331
1332 2010-01-11  Jim Meyering  <meyering@redhat.com>
1333
1334         utimecmp: avoid new warning from upcoming gcc-4.5.0
1335         * lib/utimecmp.c (BILLION): Define using #define rather than an
1336         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
1337
1338 2010-01-11  Eric Blake  <ebb9@byu.net>
1339
1340         math: add portability warnings for classification macros
1341         * modules/math (Depends-on): Add warn-on-use.
1342         (Makefile.am): Provide new substitutions.
1343         * m4/math_h.m4 (gl_MATH_H): Require inline.
1344         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
1345         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
1346         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
1347         implement warnings.
1348
1349         unistd: warn on use of environ without module
1350         * modules/unistd (Depends-on): Add warn-on-use.
1351         (Makefile.am): Provide new substitutions.
1352         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
1353         * lib/unistd.in.h (environ): Wrap with a warning helper function.
1354
1355         stdio: warn on suspicious uses
1356         * modules/stdio (Depends-on): Add warn-on-use.
1357         (Makefile.am): Provide new substitutions.
1358         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
1359         fseeko.
1360         * lib/stdio.in.h (gets): Always warn on use.
1361         (fseek, ftell): Adjust when warnings are issued, and honor
1362         _GL_NO_LARGE_FILES as a way to silence the warning.
1363         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
1364         any warning about large file offsets.
1365         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
1366         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
1367         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
1368         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
1369         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
1370         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
1371         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
1372         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
1373
1374         warn-on-use: new module
1375         * modules/warn-on-use: New file.
1376         * build-aux/warn-on-use.h: Likewise.
1377         * m4/warn-on-use.m4: Likewise.
1378         * MODULES.html.sh (Support for building): Mention it.
1379
1380 2010-01-10  Bruno Haible  <bruno@clisp.org>
1381
1382         Tests for module 'unistr/u32-strdup'.
1383         * modules/unistr/u32-strdup-tests: New file.
1384         * tests/unistr/test-u32-strdup.c: New file.
1385
1386         Tests for module 'unistr/u16-strdup'.
1387         * modules/unistr/u16-strdup-tests: New file.
1388         * tests/unistr/test-u16-strdup.c: New file.
1389
1390         Tests for module 'unistr/u8-strdup'.
1391         * modules/unistr/u8-strdup-tests: New file.
1392         * tests/unistr/test-u8-strdup.c: New file.
1393         * tests/unistr/test-strdup.h: New file.
1394
1395         Tests for module 'unistr/u32-strncmp'.
1396         * modules/unistr/u32-strncmp-tests: New file.
1397         * tests/unistr/test-u32-strncmp.c: New file.
1398
1399         Tests for module 'unistr/u16-strncmp'.
1400         * modules/unistr/u16-strncmp-tests: New file.
1401         * tests/unistr/test-u16-strncmp.c: New file.
1402
1403         Tests for module 'unistr/u8-strncmp'.
1404         * modules/unistr/u8-strncmp-tests: New file.
1405         * tests/unistr/test-u8-strncmp.c: New file.
1406         * tests/unistr/test-strncmp.h: New file.
1407
1408         Tests for module 'unistr/u32-strcoll'.
1409         * modules/unistr/u32-strcoll-tests: New file.
1410         * tests/unistr/test-u32-strcoll.c: New file.
1411
1412         Tests for module 'unistr/u16-strcoll'.
1413         * modules/unistr/u16-strcoll-tests: New file.
1414         * tests/unistr/test-u16-strcoll.c: New file.
1415
1416         Tests for module 'unistr/u8-strcoll'.
1417         * modules/unistr/u8-strcoll-tests: New file.
1418         * tests/unistr/test-u8-strcoll.c: New file.
1419
1420         Tests for module 'unistr/u32-strcmp'.
1421         * modules/unistr/u32-strcmp-tests: New file.
1422         * tests/unistr/test-u32-strcmp.c: New file.
1423         * tests/unistr/test-u32-strcmp.h: New file.
1424
1425         Tests for module 'unistr/u16-strcmp'.
1426         * modules/unistr/u16-strcmp-tests: New file.
1427         * tests/unistr/test-u16-strcmp.c: New file.
1428         * tests/unistr/test-u16-strcmp.h: New file.
1429
1430         Tests for module 'unistr/u8-strcmp'.
1431         * modules/unistr/u8-strcmp-tests: New file.
1432         * tests/unistr/test-u8-strcmp.c: New file.
1433         * tests/unistr/test-u8-strcmp.h: New file.
1434         * tests/unistr/test-strcmp.h: New file.
1435
1436         Tests for module 'unistr/u32-strncat'.
1437         * modules/unistr/u32-strncat-tests: New file.
1438         * tests/unistr/test-u32-strncat.c: New file.
1439
1440         Tests for module 'unistr/u16-strncat'.
1441         * modules/unistr/u16-strncat-tests: New file.
1442         * tests/unistr/test-u16-strncat.c: New file.
1443
1444         Tests for module 'unistr/u8-strncat'.
1445         * modules/unistr/u8-strncat-tests: New file.
1446         * tests/unistr/test-u8-strncat.c: New file.
1447         * tests/unistr/test-strncat.h: New file.
1448
1449         Tests for module 'unistr/u32-strcat'.
1450         * modules/unistr/u32-strcat-tests: New file.
1451         * tests/unistr/test-u32-strcat.c: New file.
1452
1453         Tests for module 'unistr/u16-strcat'.
1454         * modules/unistr/u16-strcat-tests: New file.
1455         * tests/unistr/test-u16-strcat.c: New file.
1456
1457         Tests for module 'unistr/u8-strcat'.
1458         * modules/unistr/u8-strcat-tests: New file.
1459         * tests/unistr/test-u8-strcat.c: New file.
1460         * tests/unistr/test-strcat.h: New file.
1461
1462         Tests for module 'unistr/u32-stpncpy'.
1463         * modules/unistr/u32-stpncpy-tests: New file.
1464         * tests/unistr/test-u32-stpncpy.c: New file.
1465
1466         Tests for module 'unistr/u16-stpncpy'.
1467         * modules/unistr/u16-stpncpy-tests: New file.
1468         * tests/unistr/test-u16-stpncpy.c: New file.
1469
1470         Tests for module 'unistr/u8-stpncpy'.
1471         * modules/unistr/u8-stpncpy-tests: New file.
1472         * tests/unistr/test-u8-stpncpy.c: New file.
1473         * tests/unistr/test-stpncpy.h: New file.
1474
1475         Tests for module 'unistr/u32-strncpy'.
1476         * modules/unistr/u32-strncpy-tests: New file.
1477         * tests/unistr/test-u32-strncpy.c: New file.
1478
1479         Tests for module 'unistr/u16-strncpy'.
1480         * modules/unistr/u16-strncpy-tests: New file.
1481         * tests/unistr/test-u16-strncpy.c: New file.
1482
1483         Tests for module 'unistr/u8-strncpy'.
1484         * modules/unistr/u8-strncpy-tests: New file.
1485         * tests/unistr/test-u8-strncpy.c: New file.
1486         * tests/unistr/test-strncpy.h: New file.
1487
1488         Tests for module 'unistr/u32-stpcpy'.
1489         * modules/unistr/u32-stpcpy-tests: New file.
1490         * tests/unistr/test-u32-stpcpy.c: New file.
1491
1492         Tests for module 'unistr/u16-stpcpy'.
1493         * modules/unistr/u16-stpcpy-tests: New file.
1494         * tests/unistr/test-u16-stpcpy.c: New file.
1495
1496         Tests for module 'unistr/u8-stpcpy'.
1497         * modules/unistr/u8-stpcpy-tests: New file.
1498         * tests/unistr/test-u8-stpcpy.c: New file.
1499         * tests/unistr/test-stpcpy.h: New file.
1500
1501         Tests for module 'unistr/u32-strcpy'.
1502         * modules/unistr/u32-strcpy-tests: New file.
1503         * tests/unistr/test-u32-strcpy.c: New file.
1504
1505         Tests for module 'unistr/u16-strcpy'.
1506         * modules/unistr/u16-strcpy-tests: New file.
1507         * tests/unistr/test-u16-strcpy.c: New file.
1508
1509         Tests for module 'unistr/u8-strcpy'.
1510         * modules/unistr/u8-strcpy-tests: New file.
1511         * tests/unistr/test-u8-strcpy.c: New file.
1512         * tests/unistr/test-strcpy.h: New file.
1513
1514         Tests for module 'unistr/u32-strnlen'.
1515         * modules/unistr/u32-strnlen-tests: New file.
1516         * tests/unistr/test-u32-strnlen.c: New file.
1517
1518         Tests for module 'unistr/u16-strnlen'.
1519         * modules/unistr/u16-strnlen-tests: New file.
1520         * tests/unistr/test-u16-strnlen.c: New file.
1521
1522         Tests for module 'unistr/u8-strnlen'.
1523         * modules/unistr/u8-strnlen-tests: New file.
1524         * tests/unistr/test-u8-strnlen.c: New file.
1525         * tests/unistr/test-strnlen.h: New file.
1526
1527         Tests for module 'unistr/u32-strlen'.
1528         * modules/unistr/u32-strlen-tests: New file.
1529         * tests/unistr/test-u32-strlen.c: New file.
1530
1531         Tests for module 'unistr/u16-strlen'.
1532         * modules/unistr/u16-strlen-tests: New file.
1533         * tests/unistr/test-u16-strlen.c: New file.
1534
1535         Tests for module 'unistr/u8-strlen'.
1536         * modules/unistr/u8-strlen-tests: New file.
1537         * tests/unistr/test-u8-strlen.c: New file.
1538
1539         Tests for module 'unistr/u32-prev'.
1540         * modules/unistr/u32-prev-tests: New file.
1541         * tests/unistr/test-u32-prev.c: New file.
1542
1543         Tests for module 'unistr/u16-prev'.
1544         * modules/unistr/u16-prev-tests: New file.
1545         * tests/unistr/test-u16-prev.c: New file.
1546
1547         Tests for module 'unistr/u8-prev'.
1548         * modules/unistr/u8-prev-tests: New file.
1549         * tests/unistr/test-u8-prev.c: New file.
1550
1551         Tests for module 'unistr/u32-next'.
1552         * modules/unistr/u32-next-tests: New file.
1553         * tests/unistr/test-u32-next.c: New file.
1554
1555         Tests for module 'unistr/u16-next'.
1556         * modules/unistr/u16-next-tests: New file.
1557         * tests/unistr/test-u16-next.c: New file.
1558
1559         Tests for module 'unistr/u8-next'.
1560         * modules/unistr/u8-next-tests: New file.
1561         * tests/unistr/test-u8-next.c: New file.
1562
1563         Tests for module 'unistr/u32-strmbtouc'.
1564         * modules/unistr/u32-strmbtouc-tests: New file.
1565         * tests/unistr/test-u32-strmbtouc.c: New file.
1566
1567         Tests for module 'unistr/u16-strmbtouc'.
1568         * modules/unistr/u16-strmbtouc-tests: New file.
1569         * tests/unistr/test-u16-strmbtouc.c: New file.
1570
1571         Tests for module 'unistr/u8-strmbtouc'.
1572         * modules/unistr/u8-strmbtouc-tests: New file.
1573         * tests/unistr/test-u8-strmbtouc.c: New file.
1574
1575         Tests for module 'unistr/u32-strmblen'.
1576         * modules/unistr/u32-strmblen-tests: New file.
1577         * tests/unistr/test-u32-strmblen.c: New file.
1578
1579         Tests for module 'unistr/u16-strmblen'.
1580         * modules/unistr/u16-strmblen-tests: New file.
1581         * tests/unistr/test-u16-strmblen.c: New file.
1582
1583         Tests for module 'unistr/u8-strmblen'.
1584         * modules/unistr/u8-strmblen-tests: New file.
1585         * tests/unistr/test-u8-strmblen.c: New file.
1586
1587         Tests for module 'unistr/u32-cpy-alloc'.
1588         * modules/unistr/u32-cpy-alloc-tests: New file.
1589         * tests/unistr/test-u32-cpy-alloc.c: New file.
1590
1591         Tests for module 'unistr/u16-cpy-alloc'.
1592         * modules/unistr/u16-cpy-alloc-tests: New file.
1593         * tests/unistr/test-u16-cpy-alloc.c: New file.
1594
1595         Tests for module 'unistr/u8-cpy-alloc'.
1596         * modules/unistr/u8-cpy-alloc-tests: New file.
1597         * tests/unistr/test-u8-cpy-alloc.c: New file.
1598         * tests/unistr/test-cpy-alloc.h: New file.
1599
1600         Tests for module 'unistr/u32-mbsnlen'.
1601         * modules/unistr/u32-mbsnlen-tests: New file.
1602         * tests/unistr/test-u32-mbsnlen.c: New file.
1603
1604         Tests for module 'unistr/u16-mbsnlen'.
1605         * modules/unistr/u16-mbsnlen-tests: New file.
1606         * tests/unistr/test-u16-mbsnlen.c: New file.
1607
1608         Tests for module 'unistr/u8-mbsnlen'.
1609         * modules/unistr/u8-mbsnlen-tests: New file.
1610         * tests/unistr/test-u8-mbsnlen.c: New file.
1611
1612         Tests for module 'unistr/u32-chr'.
1613         * modules/unistr/u32-chr-tests: New file.
1614         * tests/unistr/test-u32-chr.c: New file.
1615
1616         Tests for module 'unistr/u16-chr'.
1617         * modules/unistr/u16-chr-tests: New file.
1618         * tests/unistr/test-u16-chr.c: New file.
1619
1620         Tests for module 'unistr/u8-chr'.
1621         * modules/unistr/u8-chr-tests: New file.
1622         * tests/unistr/test-u8-chr.c: New file.
1623         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
1624
1625         Tests for module 'unistr/u32-cmp2'.
1626         * modules/unistr/u32-cmp2-tests: New file.
1627         * tests/unistr/test-u32-cmp2.c: New file.
1628
1629         Tests for module 'unistr/u16-cmp2'.
1630         * modules/unistr/u16-cmp2-tests: New file.
1631         * tests/unistr/test-u16-cmp2.c: New file.
1632
1633         Tests for module 'unistr/u8-cmp2'.
1634         * modules/unistr/u8-cmp2-tests: New file.
1635         * tests/unistr/test-u8-cmp2.c: New file.
1636         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
1637
1638         Tests for module 'unistr/u32-cmp'.
1639         * modules/unistr/u32-cmp-tests: New file.
1640         * tests/unistr/test-u32-cmp.c: New file.
1641
1642         Tests for module 'unistr/u16-cmp'.
1643         * modules/unistr/u16-cmp-tests: New file.
1644         * tests/unistr/test-u16-cmp.c: New file.
1645
1646         Tests for module 'unistr/u8-cmp'.
1647         * modules/unistr/u8-cmp-tests: New file.
1648         * tests/unistr/test-u8-cmp.c: New file.
1649         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
1650
1651         Tests for module 'unistr/u32-set'.
1652         * modules/unistr/u32-set-tests: New file.
1653         * tests/unistr/test-u32-set.c: New file.
1654
1655         Tests for module 'unistr/u16-set'.
1656         * modules/unistr/u16-set-tests: New file.
1657         * tests/unistr/test-u16-set.c: New file.
1658
1659         Tests for module 'unistr/u8-set'.
1660         * modules/unistr/u8-set-tests: New file.
1661         * tests/unistr/test-u8-set.c: New file.
1662         * tests/unistr/test-set.h: New file.
1663
1664         Tests for module 'unistr/u32-move'.
1665         * modules/unistr/u32-move-tests: New file.
1666         * tests/unistr/test-u32-move.c: New file.
1667
1668         Tests for module 'unistr/u16-move'.
1669         * modules/unistr/u16-move-tests: New file.
1670         * tests/unistr/test-u16-move.c: New file.
1671
1672         Tests for module 'unistr/u8-move'.
1673         * modules/unistr/u8-move-tests: New file.
1674         * tests/unistr/test-u8-move.c: New file.
1675         * tests/unistr/test-move.h: New file.
1676
1677         Tests for module 'unistr/u32-cpy'.
1678         * modules/unistr/u32-cpy-tests: New file.
1679         * tests/unistr/test-u32-cpy.c: New file.
1680
1681         Tests for module 'unistr/u16-cpy'.
1682         * modules/unistr/u16-cpy-tests: New file.
1683         * tests/unistr/test-u16-cpy.c: New file.
1684
1685         Tests for module 'unistr/u8-cpy'.
1686         * modules/unistr/u8-cpy-tests: New file.
1687         * tests/unistr/test-u8-cpy.c: New file.
1688         * tests/unistr/test-cpy.h: New file.
1689
1690 2010-01-09  Bruno Haible  <bruno@clisp.org>
1691
1692         Tests for module 'unistr/u32-uctomb'.
1693         * modules/unistr/u32-uctomb-tests: New file.
1694         * tests/unistr/test-u32-uctomb.c: New file.
1695
1696         Tests for module 'unistr/u16-uctomb'.
1697         * modules/unistr/u16-uctomb-tests: New file.
1698         * tests/unistr/test-u16-uctomb.c: New file.
1699
1700         Tests for module 'unistr/u8-uctomb'.
1701         * modules/unistr/u8-uctomb-tests: New file.
1702         * tests/unistr/test-u8-uctomb.c: New file.
1703
1704         Tests for module 'unistr/u32-mbtoucr'.
1705         * modules/unistr/u32-mbtoucr-tests: New file.
1706         * tests/unistr/test-u32-mbtoucr.c: New file.
1707
1708         Tests for module 'unistr/u16-mbtoucr'.
1709         * modules/unistr/u16-mbtoucr-tests: New file.
1710         * tests/unistr/test-u16-mbtoucr.c: New file.
1711
1712         Tests for module 'unistr/u8-mbtoucr'.
1713         * modules/unistr/u8-mbtoucr-tests: New file.
1714         * tests/unistr/test-u8-mbtoucr.c: New file.
1715
1716         Tests for module 'unistr/u32-mbtouc'.
1717         * modules/unistr/u32-mbtouc-tests: New file.
1718         * tests/unistr/test-u32-mbtouc.c: New file.
1719
1720         Tests for module 'unistr/u16-mbtouc'.
1721         * modules/unistr/u16-mbtouc-tests: New file.
1722         * tests/unistr/test-u16-mbtouc.c: New file.
1723
1724         Tests for module 'unistr/u8-mbtouc'.
1725         * modules/unistr/u8-mbtouc-tests: New file.
1726         * tests/unistr/test-u8-mbtouc.c: New file.
1727
1728         Tests for module 'unistr/u32-mbtouc-unsafe'.
1729         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
1730         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
1731         * tests/unistr/test-u32-mbtouc.h: New file.
1732
1733         Tests for module 'unistr/u16-mbtouc-unsafe'.
1734         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
1735         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
1736         * tests/unistr/test-u16-mbtouc.h: New file.
1737
1738         Tests for module 'unistr/u8-mbtouc-unsafe'.
1739         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
1740         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
1741         * tests/unistr/test-u8-mbtouc.h: New file.
1742
1743         Tests for module 'unistr/u32-mblen'.
1744         * modules/unistr/u32-mblen-tests: New file.
1745         * tests/unistr/test-u32-mblen.c: New file.
1746
1747         Tests for module 'unistr/u16-mblen'.
1748         * modules/unistr/u16-mblen-tests: New file.
1749         * tests/unistr/test-u16-mblen.c: New file.
1750
1751         Tests for module 'unistr/u8-mblen'.
1752         * modules/unistr/u8-mblen-tests: New file.
1753         * tests/unistr/test-u8-mblen.c: New file.
1754
1755         Tests for module 'unistr/u32-to-u16'.
1756         * modules/unistr/u32-to-u16-tests: New file.
1757         * tests/unistr/test-u32-to-u16.c: New file.
1758
1759         Tests for module 'unistr/u32-to-u8'.
1760         * modules/unistr/u32-to-u8-tests: New file.
1761         * tests/unistr/test-u32-to-u8.c: New file.
1762
1763         Tests for module 'unistr/u16-to-u32'.
1764         * modules/unistr/u16-to-u32-tests: New file.
1765         * tests/unistr/test-u16-to-u32.c: New file.
1766
1767         Tests for module 'unistr/u16-to-u8'.
1768         * modules/unistr/u16-to-u8-tests: New file.
1769         * tests/unistr/test-u16-to-u8.c: New file.
1770
1771         Tests for module 'unistr/u8-to-u32'.
1772         * modules/unistr/u8-to-u32-tests: New file.
1773         * tests/unistr/test-u8-to-u32.c: New file.
1774
1775         Tests for module 'unistr/u8-to-u16'.
1776         * modules/unistr/u8-to-u16-tests: New file.
1777         * tests/unistr/test-u8-to-u16.c: New file.
1778
1779         Tests for module 'unistr/u32-check'.
1780         * modules/unistr/u32-check-tests: New file.
1781         * tests/unistr/test-u32-check.c: New file.
1782
1783         Tests for module 'unistr/u16-check'.
1784         * modules/unistr/u16-check-tests: New file.
1785         * tests/unistr/test-u16-check.c: New file.
1786
1787         Tests for module 'unistr/u8-check'.
1788         * modules/unistr/u8-check-tests: New file.
1789         * tests/unistr/test-u8-check.c: New file.
1790
1791         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
1792         (category_equals): New function.
1793         (main): Add more tests.
1794         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
1795
1796         * tests/unictype/test-bidi_byname.c (main): Add more tests.
1797
1798 2010-01-10  Bruno Haible  <bruno@clisp.org>
1799
1800         unistr/u*-strcoll: Try harder to distinguish different strings.
1801         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
1802         compare s1 and s2 to see if they are different.
1803
1804 2010-01-10  Bruno Haible  <bruno@clisp.org>
1805
1806         unistr/u*-stpncpy: Fix the return value.
1807         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
1808         description of the return value consistent with stpncpy in glibc.
1809         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
1810         written non-NUL unit.
1811
1812 2010-01-10  Bruno Haible  <bruno@clisp.org>
1813
1814         unistr/u*-next: Add missing dependencies.
1815         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
1816         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
1817         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
1818
1819 2010-01-10  Bruno Haible  <bruno@clisp.org>
1820
1821         unistr/u8-mbsnlen: Fix return value for incomplete character.
1822         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
1823         u8_mblen.
1824         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
1825         Remove unistr/u8-mblen.
1826         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
1827         u16_mblen.
1828         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
1829         Remove unistr/u16-mblen.
1830
1831 2010-01-10  Bruno Haible  <bruno@clisp.org>
1832
1833         wchar: Fix compilation error when <wchar.h> is used from coreutils.
1834         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
1835         Reported by Brian Gough <bjg@gnu.org> and
1836         Chris Clayton <chris2553@googlemail.com> via
1837         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
1838
1839 2010-01-09  Bruno Haible  <bruno@clisp.org>
1840
1841         unistr/u16-to-u32: Reject invalid input.
1842         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
1843         u16_mbtouc.
1844         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
1845         Remove unistr/u16-mbtouc.
1846
1847         unistr/u16-to-u8: Reject invalid input.
1848         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
1849         u16_mbtouc.
1850         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
1851         Remove unistr/u16-mbtouc.
1852
1853         unistr/u8-to-u32: Reject invalid input.
1854         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
1855         u8_mbtouc.
1856         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
1857         Remove unistr/u8-mbtouc.
1858
1859         unistr/u8-to-u16: Reject invalid input.
1860         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
1861         u8_mbtouc.
1862         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
1863         Remove unistr/u8-mbtouc.
1864
1865 2010-01-09  Bruno Haible  <bruno@clisp.org>
1866
1867         Tests for module 'getlogin'.
1868         * modules/getlogin-tests: New file.
1869         * tests/test-getlogin.c: New file.
1870
1871         New module 'getlogin'.
1872         * lib/unistd.in.h (getlogin): New declaration.
1873         * lib/getlogin.c: New file.
1874         * m4/getlogin.m4: New file.
1875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
1876         HAVE_GETLOGIN.
1877         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
1878         HAVE_GETLOGIN.
1879         * modules/getlogin: New file.
1880         * doc/posix-functions/getlogin.texi: Mention the new module.
1881         Reported by John W. Eaton <jwe@gnu.org>.
1882
1883 2010-01-09  Bruno Haible  <bruno@clisp.org>
1884
1885         getlogin_r: Support for native Windows.
1886         * lib/getlogin_r.c: Include <windows.h>
1887         (getlogin_r): Implement for native Windows.
1888         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
1889         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
1890         via John W. Eaton <jwe@gnu.org>.
1891
1892 2010-01-09  Bruno Haible  <bruno@clisp.org>
1893
1894         getlogin_r: Small fixes.
1895         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
1896         succeeds.
1897         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
1898         before testing whether getlogin_r is declared. No need to set
1899         HAVE_DECL_GETLOGIN_R to 1.
1900         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
1901
1902 2010-01-09  Bruno Haible  <bruno@clisp.org>
1903
1904         * lib/unistd.in.h (getlogin_r): Add comment.
1905
1906 2010-01-09  Bruno Haible  <bruno@clisp.org>
1907
1908         Tests for module 'getlogin_r'.
1909         * modules/getlogin_r-tests: New file.
1910         * tests/test-getlogin_r.c: New file.
1911
1912 2010-01-09  Jim Meyering  <meyering@redhat.com>
1913
1914         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
1915         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
1916         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
1917
1918 2010-01-08  Simon Josefsson  <simon@josefsson.org>
1919
1920         * lib/dup2.c (rpl_dup2): Improve comment.
1921
1922 2010-01-08  Eric Blake  <ebb9@byu.net>
1923
1924         maint.mk: allow packages to add makefile @@ exceptions
1925         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
1926         (sc_makefile_check): Rename...
1927         (sc_makefile_at_at_check): ...to this, and use hook.
1928
1929         dup2: work around mingw bug
1930         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
1931         Reported by Simon Josefsson.
1932
1933 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
1934
1935         glob: Fix C++ compilation.
1936         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
1937         C++.
1938
1939 2010-01-07  Bruno Haible  <bruno@clisp.org>
1940
1941         Fix indentation of wctype.in.h, broken since 2007-01-06.
1942         * lib/wctype.in.h: Fix indentation of preprocessor directives.
1943
1944 2010-01-07  Bruno Haible  <bruno@clisp.org>
1945
1946         mbslen: Avoid collision with system function.
1947         * lib/string.in.h [MirBSD]: Include <wchar.h>.
1948         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
1949         * m4/mbslen.m4: New file.
1950         * modules/mbslen (Files): Add it.
1951         (configure.ac): Invoke gl_MBSLEN.
1952         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
1953         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
1954         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
1955         via Ian Beckwith <ianb@erislabs.net>.
1956
1957 2010-01-07  Bruno Haible  <bruno@clisp.org>
1958
1959         dirent: Document the last fix.
1960         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
1961
1962 2010-01-07  Bruno Haible  <bruno@clisp.org>
1963
1964         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
1965         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
1966         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
1967         va_list are defined.
1968         * doc/posix-headers/stdio.texi: Document the bug of missing types.
1969         Reported by Eric Blake.
1970
1971 2010-01-07  Bruno Haible  <bruno@clisp.org>
1972
1973         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
1974         * modules/xlist (Depends-on): Add 'list',
1975         * modules/xoset (Depends-on): Add 'oset'.
1976         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1977
1978 2010-01-07  Bruno Haible  <bruno@clisp.org>
1979
1980         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
1981         * doc/posix-functions/strncasecmp.texi: Likewise.
1982
1983 2010-01-07  Bruno Haible  <bruno@clisp.org>
1984
1985         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
1986
1987 2010-01-07  John W. Eaton  <jwe@octave.org>
1988
1989         wctype: allow C++ use
1990         * lib/wctype.in.h: Add extern "C" block for C++.
1991
1992 2010-01-06  Eric Blake  <ebb9@byu.net>
1993
1994         maint.mk: detect incorrect GFDL usage
1995         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
1996
1997 2010-01-06  Jim Meyering  <meyering@redhat.com>
1998         and Eric Blake  <ebb9@byu.net>
1999
2000         maint.mk: ignore multi-line copyright in NEWS
2001         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
2002
2003 2010-01-06  Eric Blake  <ebb9@byu.net>
2004
2005         select: add missing dependency
2006         * modules/select-tests (Depends-on): Move sockets dependency...
2007         * modules/select (Depends-on): ...here.
2008         Reported by Ian Beckwith.
2009
2010         doc: regenerate INSTALL
2011         * doc/INSTALL: Reflect recent autoconf update.
2012         * doc/INSTALL.ISO: Likewise.
2013         * doc/INSTALL.UTF-8: Likewise.
2014
2015         pread: fix compilation on glibc
2016         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
2017         Reported by Ralf Wildenhues.
2018
2019         dirent: fix test failure
2020         * lib/dirent.in.h (includes): Guarantee ino_t.
2021         Reported by Ralf Wildenhues.
2022
2023 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
2024
2025         linkat, renameat: avoid bad free
2026         * lib/at-func2.c (at_func2): Fix typo.
2027         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
2028
2029 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2030
2031         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
2032         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
2033         to avoid failure of symlink test later.
2034
2035 2010-01-06  Eric Blake  <ebb9@byu.net>
2036
2037         stdio, unistd: guarantee ssize_t
2038         * lib/unistd.in.h (includes): Ensure that types required by POSIX
2039         2008 are exposed when needed.
2040         * lib/stdio.in.h (includes): Likewise.
2041         Reported by Ralf Wildenhues.
2042
2043 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
2044
2045         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
2046         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
2047         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
2048
2049 2010-01-06  Jim Meyering  <meyering@redhat.com>
2050
2051         readtokens: this module *does* require xalloc.h
2052         It uses only functions that were omitted by the old syntax-check rule.
2053         * lib/readtokens.c: Include "xalloc.h" once again.
2054         * modules/readtokens (Depends-on): Add xalloc.
2055         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
2056
2057 2010-01-05  Eric Blake  <ebb9@byu.net>
2058
2059         maint: support 'make announcement' from a VPATH build
2060         * top/maint.mk (announcement): Look for correct NEWS file.
2061
2062 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
2063
2064         utimens (fdutimens): ignore a negative FD, per contract
2065         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
2066         when we have a valid file descriptor.  Otherwise, using a brand
2067         new glibc (with just-patched futimens that now fails with EBADF)
2068         would cause this function to fail with ENOSYS.
2069         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
2070         See also http://bugzilla.redhat.com/552320.
2071
2072 2010-01-05  Eric Blake  <ebb9@byu.net>
2073
2074         strcase: document what it provides
2075         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
2076         gnulib module.
2077         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
2078         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
2079
2080 2010-01-05  Jim Meyering  <meyering@redhat.com>
2081
2082         maint: remove useless inclusions of "xalloc.h"
2083         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
2084         * lib/readtokens.c: Likewise.
2085         * lib/same.c: Likewise.
2086         * modules/getloadavg (Depends-on): Remove xalloc.
2087         * modules/readtokens: Likewise.
2088         * modules/same: Likewise.
2089
2090         maint.mk: include 4 more function names in alloca.h-checking regexp
2091         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
2092         regexp.  Before, we would give a false-positive (saying alloca.h
2093         is included unnecessarily) when the only uses involved omitted symbols.
2094
2095         xalloc.h: use consistent formatting
2096         * lib/xalloc.h: Move declarations to start in the first column.
2097
2098 2010-01-05  Eric Blake  <ebb9@byu.net>
2099
2100         mkdir: avoid xalloc
2101         * lib/mkdir.c (includes): Drop unused header.
2102         Reported by John W. Eaton.
2103
2104 2010-01-04  Jim Meyering  <meyering@redhat.com>
2105
2106         nl_langinfo: avoid configure-time syntax error
2107         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
2108         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
2109         the empty string.  Don't let that provoke a shell syntax error.
2110
2111         regcomp, regexec, fnmatch: avoid array bounds read error
2112         * lib/regcomp.c (build_equiv_class): From glibc:
2113         Use only the low 24 bits of a findidx return value as an index
2114         into the weights array.  Patch by Ulrich Drepper:
2115         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
2116         * lib/regexec.c (check_node_accept_bytes): Likewise.
2117         * lib/fnmatch_loop.c (FCT): Likewise.
2118
2119         regcomp: skip collseq lookup when there are no rules
2120         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
2121         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
2122
2123         regcomp: recognize ill-formed { } expressions
2124         * lib/regcomp.c (parse_dup_op): From glibc:
2125         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
2126
2127         regcomp: fix typo in comment
2128         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
2129         s/satisfy/satisfies/.
2130
2131         regcomp: sync from glibc: remove dead store
2132         * lib/regcomp.c (duplicate_node_closure): Remove useless
2133         search_duplicated_node call and dead store.
2134
2135         regcomp: sync from glibc; always use nl_langinfo
2136         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
2137         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
2138         * modules/regex (Depends-on): Add nl_langinfo.
2139
2140 2010-01-04  Eric Blake  <ebb9@byu.net>
2141
2142         fdopendir: fix configure test
2143         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
2144
2145 2010-01-01  Bruno Haible  <bruno@clisp.org>
2146
2147         wchar: Remove unused configure check.
2148         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
2149
2150 2010-01-01  Eric Blake  <ebb9@byu.net>
2151
2152         headers: make check of system header explicit
2153         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
2154         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
2155         ourselves.
2156         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
2157         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2158         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
2159         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
2160         internals.
2161         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
2162         missing.
2163         Suggested by Bruno Haible.
2164
2165 2010-01-01  Jim Meyering  <meyering@redhat.com>
2166
2167         ChangeLog: tweak to eliminate unnecessary copyright line
2168         * ChangeLog: Remove a copyright line that was mistakenly updated
2169         by today's update-copyright run.  Reported by Eric Blake.
2170
2171         test-update-copyright: don't let envvar setting cause test failure
2172         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
2173
2174 2010-01-01  Bruno Haible  <bruno@clisp.org>
2175
2176         localename: Avoid gcc warning.
2177         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
2178         function if it is not used.
2179
2180 2010-01-01  Jim Meyering  <meyering@redhat.com>
2181
2182         update nearly all FSF copyright year lists to include 2010
2183         Use the same procedure as for 2009, outlined in
2184         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
2185
2186         version-etc: set COPYRIGHT_YEAR to 2010
2187         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
2188
2189 2009-12-31  Eric Blake  <ebb9@byu.net>
2190
2191         doc: correct availability of cygwin 1.5.x getopt
2192         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
2193         variables.
2194         * doc/posix-functions/opterr.texi (opterr): Likewise.
2195         * doc/posix-functions/optind.texi (optind): Likewise.
2196         * doc/posix-functions/optopt.texi (optopt): Likewise.
2197         * doc/posix-functions/tzname.texi (tzname): Likewise.
2198
2199         openat: update maintainer
2200         * modules/openat (Maintainer): Add myself.
2201
2202         utimens: avoid shadowing warning
2203         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
2204         buffers into one, to avoid shadowing, as well as avoiding a
2205         redundant stat.
2206         Reported by Jim Meyering.
2207
2208         test-dup2: avoid compiler warning
2209         * tests/test-dup2.c (is_inheritable): Only define if used.
2210
2211 2010-01-01  Bruno Haible  <bruno@clisp.org>
2212
2213         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
2214         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
2215         defined, use wctomb instead of wcrtomb.
2216
2217 2010-01-01  Bruno Haible  <bruno@clisp.org>
2218
2219         iconv: Reject native Solaris iconv.
2220         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
2221         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
2222
2223 2009-12-31  Bruno Haible  <bruno@clisp.org>
2224
2225         * tests/test-signal.c (main): Remove test of 'SIG'.
2226
2227 2009-12-31  Bruno Haible  <bruno@clisp.org>
2228
2229         spawn: Fix incomplete fix.
2230         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
2231         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
2232         warnings for GNULIB_POSIXCHECK again.
2233         Reported by Eric Blake.
2234
2235 2009-12-31  Bruno Haible  <bruno@clisp.org>
2236
2237         Avoid namespace pollution on glibc systems.
2238         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
2239         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
2240         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
2241         glibc systems.
2242
2243 2009-12-31  Bruno Haible  <bruno@clisp.org>
2244
2245         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
2246         (gl_REPLACE_WCHAR_H): Turn into a no-op.
2247         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
2248         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
2249         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
2250         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
2251         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
2252
2253 2009-12-31  Bruno Haible  <bruno@clisp.org>
2254
2255         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
2256         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
2257         afterwards.
2258
2259 2009-12-31  Bruno Haible  <bruno@clisp.org>
2260
2261         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
2262         SYS_UTSNAME_H.
2263
2264 2009-12-31  Bruno Haible  <bruno@clisp.org>
2265
2266         spawn: Fix misapplied patch.
2267         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
2268         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
2269         warnings for GNULIB_POSIXCHECK.
2270
2271 2009-12-31  Bruno Haible  <bruno@clisp.org>
2272
2273         times: Update after sys_times changed.
2274         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
2275         * modules/times (Files): Add it.
2276         (configure.ac): Invoke gl_FUNC_TIMES.
2277
2278 2009-12-31  Bruno Haible  <bruno@clisp.org>
2279
2280         Use AC_C_INLINE where necessary.
2281         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
2282         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
2283         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
2284         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
2285         * m4/mbfile.m4 (gl_MBFILE): Likewise.
2286         * m4/mbiter.m4 (gl_MBITER): Likewise.
2287         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2288         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2289         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
2290         * modules/u64 (configure.ac): Likewise.
2291
2292 2009-12-31  Bruno Haible  <bruno@clisp.org>
2293
2294         Use AC_C_INLINE instead of module 'inline' where possible.
2295         * modules/inline (Description): Clarify purpose.
2296         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
2297         * modules/count-one-bits (Depends-on): Remove inline.
2298         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
2299         * modules/openat (Depends-on): Remove inline.
2300         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
2301         instead of depending on module 'inline'.
2302         * modules/filevercmp (Depends-on, configure.ac): Likewise.
2303         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
2304         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
2305         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
2306         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
2307         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
2308         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
2309         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
2310         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
2311         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
2312         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
2313         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
2314         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
2315         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
2316         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
2317         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
2318         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
2319         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
2320         Likewise.
2321         * modules/unictype/property-ascii-hex-digit (Depends-on,
2322         configure.ac): Likewise.
2323         * modules/unictype/property-bidi-arabic-digit (Depends-on,
2324         configure.ac): Likewise.
2325         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
2326         configure.ac): Likewise.
2327         * modules/unictype/property-bidi-block-separator (Depends-on,
2328         configure.ac): Likewise.
2329         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
2330         configure.ac): Likewise.
2331         * modules/unictype/property-bidi-common-separator (Depends-on,
2332         configure.ac): Likewise.
2333         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
2334         Likewise.
2335         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
2336         configure.ac): Likewise.
2337         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
2338         configure.ac): Likewise.
2339         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
2340         configure.ac): Likewise.
2341         * modules/unictype/property-bidi-european-digit (Depends-on,
2342         configure.ac): Likewise.
2343         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
2344         configure.ac): Likewise.
2345         * modules/unictype/property-bidi-left-to-right (Depends-on,
2346         configure.ac): Likewise.
2347         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
2348         configure.ac): Likewise.
2349         * modules/unictype/property-bidi-other-neutral (Depends-on,
2350         configure.ac): Likewise.
2351         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
2352         Likewise.
2353         * modules/unictype/property-bidi-segment-separator (Depends-on,
2354         configure.ac): Likewise.
2355         * modules/unictype/property-bidi-whitespace (Depends-on,
2356         configure.ac): Likewise.
2357         * modules/unictype/property-combining (Depends-on, configure.ac):
2358         Likewise.
2359         * modules/unictype/property-composite (Depends-on, configure.ac):
2360         Likewise.
2361         * modules/unictype/property-currency-symbol (Depends-on,
2362         configure.ac): Likewise.
2363         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
2364         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
2365         Likewise.
2366         * modules/unictype/property-default-ignorable-code-point (Depends-on,
2367         configure.ac): Likewise.
2368         * modules/unictype/property-deprecated (Depends-on, configure.ac):
2369         Likewise.
2370         * modules/unictype/property-diacritic (Depends-on, configure.ac):
2371         Likewise.
2372         * modules/unictype/property-extender (Depends-on, configure.ac):
2373         Likewise.
2374         * modules/unictype/property-format-control (Depends-on, configure.ac):
2375         Likewise.
2376         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
2377         Likewise.
2378         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
2379         Likewise.
2380         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
2381         Likewise.
2382         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
2383         Likewise.
2384         * modules/unictype/property-hyphen (Depends-on, configure.ac):
2385         Likewise.
2386         * modules/unictype/property-id-continue (Depends-on, configure.ac):
2387         Likewise.
2388         * modules/unictype/property-id-start (Depends-on, configure.ac):
2389         Likewise.
2390         * modules/unictype/property-ideographic (Depends-on, configure.ac):
2391         Likewise.
2392         * modules/unictype/property-ids-binary-operator (Depends-on,
2393         configure.ac): Likewise.
2394         * modules/unictype/property-ids-trinary-operator (Depends-on,
2395         configure.ac): Likewise.
2396         * modules/unictype/property-ignorable-control (Depends-on,
2397         configure.ac): Likewise.
2398         * modules/unictype/property-iso-control (Depends-on, configure.ac):
2399         Likewise.
2400         * modules/unictype/property-join-control (Depends-on, configure.ac):
2401         Likewise.
2402         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
2403         Likewise.
2404         * modules/unictype/property-line-separator (Depends-on, configure.ac):
2405         Likewise.
2406         * modules/unictype/property-logical-order-exception (Depends-on,
2407         configure.ac): Likewise.
2408         * modules/unictype/property-lowercase (Depends-on, configure.ac):
2409         Likewise.
2410         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
2411         * modules/unictype/property-non-break (Depends-on, configure.ac):
2412         Likewise.
2413         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
2414         Likewise.
2415         * modules/unictype/property-numeric (Depends-on, configure.ac):
2416         Likewise.
2417         * modules/unictype/property-other-alphabetic (Depends-on,
2418         configure.ac): Likewise.
2419         * modules/unictype/property-other-default-ignorable-code-point
2420         (Depends-on, configure.ac): Likewise.
2421         * modules/unictype/property-other-grapheme-extend (Depends-on,
2422         configure.ac): Likewise.
2423         * modules/unictype/property-other-id-continue (Depends-on,
2424         configure.ac): Likewise.
2425         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
2426         Likewise.
2427         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
2428         Likewise.
2429         * modules/unictype/property-other-math (Depends-on, configure.ac):
2430         Likewise.
2431         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
2432         Likewise.
2433         * modules/unictype/property-paired-punctuation (Depends-on,
2434         configure.ac): Likewise.
2435         * modules/unictype/property-paragraph-separator (Depends-on,
2436         configure.ac): Likewise.
2437         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
2438         Likewise.
2439         * modules/unictype/property-pattern-white-space (Depends-on,
2440         configure.ac): Likewise.
2441         * modules/unictype/property-private-use (Depends-on, configure.ac):
2442         Likewise.
2443         * modules/unictype/property-punctuation (Depends-on, configure.ac):
2444         Likewise.
2445         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
2446         Likewise.
2447         * modules/unictype/property-radical (Depends-on, configure.ac):
2448         Likewise.
2449         * modules/unictype/property-sentence-terminal (Depends-on,
2450         configure.ac): Likewise.
2451         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
2452         Likewise.
2453         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
2454         * modules/unictype/property-terminal-punctuation (Depends-on,
2455         configure.ac): Likewise.
2456         * modules/unictype/property-titlecase (Depends-on, configure.ac):
2457         Likewise.
2458         * modules/unictype/property-unassigned-code-value (Depends-on,
2459         configure.ac): Likewise.
2460         * modules/unictype/property-unified-ideograph (Depends-on,
2461         configure.ac): Likewise.
2462         * modules/unictype/property-uppercase (Depends-on, configure.ac):
2463         Likewise.
2464         * modules/unictype/property-variation-selector (Depends-on,
2465         configure.ac): Likewise.
2466         * modules/unictype/property-white-space (Depends-on, configure.ac):
2467         Likewise.
2468         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
2469         Likewise.
2470         * modules/unictype/property-xid-start (Depends-on, configure.ac):
2471         Likewise.
2472         * modules/unictype/property-zero-width (Depends-on, configure.ac):
2473         Likewise.
2474         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
2475         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
2476         Likewise.
2477
2478 2009-12-31  Bruno Haible  <bruno@clisp.org>
2479
2480         Remove unnecessary AC_C_INLINE invocation.
2481         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
2482         since 2009-08-21.
2483
2484 2009-12-31  Jim Meyering  <meyering@redhat.com>
2485
2486         maint.mk: don't require explicit gpg_key_ID in cfg.mk
2487         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
2488         With this change, we can all remove the gpg_key_ID = ... definition
2489         from our respective cfg.mk files.
2490
2491         maint.mk: create announcement template in ~/, not in /tmp
2492         * top/maint.mk (emit_upload_commands): Adjust.
2493         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
2494         Remove temporary file, .ci-msg.
2495
2496 2009-12-31  Eric Blake  <ebb9@byu.net>
2497
2498         link-warning: always build headers with link warnings
2499         * modules/arpa_inet (Makefile.am): Always build replacement
2500         header.
2501         * modules/ctype (Makefile.am): Likewise.
2502         * modules/dirent (Makefile.am): Likewise.
2503         * modules/inttypes (Makefile.am): Likewise.
2504         * modules/langinfo (Makefile.am): Likewise.
2505         * modules/locale (Makefile.am): Likewise.
2506         * modules/spawn (Makefile.am): Likewise.
2507         * modules/sys_file (Makefile.am): Likewise.
2508         * modules/sys_ioctl (Makefile.am): Likewise.
2509         * modules/sys_select (Makefile.am): Likewise.
2510         * modules/sys_socket (Makefile.am): Likewise.
2511         * modules/sys_times (Makefile.am): Likewise.
2512         * modules/sys_utsname (Makefile.am): Likewise.
2513         * modules/sys_wait (Makefile.am): Likewise.
2514         * modules/wchar (Makefile.am): Likewise.
2515         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
2516         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
2517         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
2518         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
2519         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
2520         Likewise.
2521         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
2522         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2523         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
2524         Likewise.
2525         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
2526         Likewise.
2527         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
2528         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
2529         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
2530         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2531         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2532         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2533         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2534         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
2535         (gl_WCHAR_H_DEFAULTS): Likewise.
2536
2537 2009-12-31  Eric Blake  <ebb9@byu.net>
2538
2539         signal, spawn: use link warnings
2540         * lib/signal.in.h (sigset_t): Make unconditional.
2541         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
2542         (sigpending, sigprocmask, sigaction): Add link warnings.
2543         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
2544         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
2545         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
2546         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
2547         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
2548         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
2549         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
2550         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
2551         (posix_spawn_file_actions_destroy)
2552         (posix_spawn_file_actions_addopen)
2553         (posix_spawn_file_actions_addclose)
2554         (posix_spawwn_file_actions_adddup2): Likewise.
2555         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
2556         * tests/test-signal.c (main): Enhance test.
2557
2558         spawn: improve wrapper support
2559         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
2560         (gl_SPAWN_H_DEFAULTS): New defaults.
2561         * modules/spawn (Makefile.am): Substitute them.
2562         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
2563         Only declare if missing or broken.
2564
2565         sys_times, sys_utsname: use include_next
2566         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
2567         header.
2568         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
2569         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2570         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2571         * modules/sys_times (Depends-on): Add include_next.
2572         (Makefile.am): Substitute additional values.
2573         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
2574         * lib/sys_times.in.h (includes): Include native header, if
2575         available.
2576         * lib/sys_utsname.in.h (includes): Likewise.
2577         * tests/test-sys_times.c (main): Enhance test.
2578
2579         fdutimensat: revert prior patch
2580         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
2581         utimens.h.
2582         Reported by Bruno Haible.
2583
2584 2009-12-30  Eric Blake  <ebb9@byu.net>
2585
2586         sys_wait: drop link-warning dependency
2587         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
2588         link-warning efforts.
2589         * lib/sys_wait.in.h: Likewise.
2590
2591         fdutimensat: remove bogus dependency
2592         * modules/fdutimensat (Depends-on): Drop inline.
2593
2594         unistd: fix typo
2595         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
2596
2597 2009-12-30  Bruno Haible  <bruno@clisp.org>
2598
2599         Fix compilation error with Solaris cc.
2600         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
2601         * lib/unicase/u16-is-invariant.c: Likewise.
2602         * lib/unicase/u32-is-invariant.c: Likewise.
2603         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2604
2605 2009-12-30  Bruno Haible  <bruno@clisp.org>
2606
2607         Fix test crash.
2608         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
2609         locales.
2610         Reported by Simon Josefsson <simon@josefsson.org>.
2611
2612 2009-12-30  Bruno Haible  <bruno@clisp.org>
2613
2614         Fix compilation error on most platforms.
2615         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
2616         Reported by Simon Josefsson <simon@josefsson.org>
2617         and Nelson H. F. Beebe <beebe@math.utah.edu>.
2618
2619 2009-12-30  Eric Blake  <ebb9@byu.net>
2620
2621         futimens, utimensat: work around ntfs-3g bug
2622         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
2623         a ctime bug is present, and expand workaround to cover ntfs-3g.
2624         * lib/utimens.c (fdutimens, lutimens): Likewise.
2625         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
2626         (validate_timespec): Adjust return value.
2627         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
2628         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
2629         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
2630
2631 2009-12-29  Eric Blake  <ebb9@byu.net>
2632
2633         link-warning: make usage consistent
2634         * modules/ctype (Depends-on): Add link-warning.
2635         (Makefile.am): Update rules accordingly.
2636         * modules/langinfo (Depends-on, Makefile.am): Likewise.
2637         * modules/locale (Depends-on, Makefile.am): Likewise.
2638         * modules/sys_file (Makefile.am): Likewise.
2639         * modules/getopt-posix (Makefile.am): Delete unused link warning
2640         efforts.
2641         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
2642         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
2643         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
2644         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
2645
2646         stdio: remove unused variables
2647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
2648         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
2649         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
2650
2651         tests: test more substitute headers
2652         * modules/ctype-tests: New file.
2653         * modules/dirent-tests: Likewise.
2654         * modules/spawn-tests: Likewise.
2655         * modules/sys_file-tests: Likewise.
2656         * modules/sys_ioctl-tests: Likewise.
2657         * modules/sys_wait-tests: Likewise.
2658         * tests/test-ctype.c: Likewise.
2659         * tests/test-dirent.c: Likewise.
2660         * tests/test-spawn.c: Likewise.
2661         * tests/test-sys_file.c: Likewise.
2662         * tests/test-sys_ioctl.c: Likewise.
2663         * tests/test-sys_wait.c: Likewise.
2664         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
2665         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
2666         whether or not flock is in use.
2667
2668         tests: remove License section from module
2669         * modules/arpa_inet-tests: Remove unneeded section.
2670         * modules/byteswap-tests: Likewise.
2671         * modules/ceilf-tests: Likewise.
2672         * modules/ceill-tests: Likewise.
2673         * modules/crypto/des-tests: Likewise.
2674         * modules/crypto/gc-arcfour-tests: Likewise.
2675         * modules/crypto/gc-arctwo-tests: Likewise.
2676         * modules/crypto/gc-des-tests: Likewise.
2677         * modules/crypto/gc-hmac-md5-tests: Likewise.
2678         * modules/crypto/gc-hmac-sha1-tests: Likewise.
2679         * modules/crypto/gc-md2-tests: Likewise.
2680         * modules/crypto/gc-md4-tests: Likewise.
2681         * modules/crypto/gc-md5-tests: Likewise.
2682         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
2683         * modules/crypto/gc-rijndael-tests: Likewise.
2684         * modules/crypto/gc-sha1-tests: Likewise.
2685         * modules/crypto/gc-tests: Likewise.
2686         * modules/crypto/md2-tests: Likewise.
2687         * modules/crypto/md4-tests: Likewise.
2688         * modules/fcntl-h-tests: Likewise.
2689         * modules/floorf-tests: Likewise.
2690         * modules/floorl-tests: Likewise.
2691         * modules/frexp-nolibm-tests: Likewise.
2692         * modules/frexp-tests: Likewise.
2693         * modules/frexpl-nolibm-tests: Likewise.
2694         * modules/frexpl-tests: Likewise.
2695         * modules/getaddrinfo-tests: Likewise.
2696         * modules/inttypes-tests: Likewise.
2697         * modules/isfinite-tests: Likewise.
2698         * modules/isinf-tests: Likewise.
2699         * modules/ldexpl-tests: Likewise.
2700         * modules/locale-tests: Likewise.
2701         * modules/math-tests: Likewise.
2702         * modules/netdb-tests: Likewise.
2703         * modules/netinet_in-tests: Likewise.
2704         * modules/printf-frexp-tests: Likewise.
2705         * modules/printf-frexpl-tests: Likewise.
2706         * modules/priv-set-tests: Likewise.
2707         * modules/random_r-tests: Likewise.
2708         * modules/round-tests: Likewise.
2709         * modules/roundf-tests: Likewise.
2710         * modules/roundl-tests: Likewise.
2711         * modules/search-tests: Likewise.
2712         * modules/select-tests: Likewise.
2713         * modules/signal-tests: Likewise.
2714         * modules/stdbool-tests: Likewise.
2715         * modules/stddef-tests: Likewise.
2716         * modules/stdint-tests: Likewise.
2717         * modules/stdio-tests: Likewise.
2718         * modules/stdlib-tests: Likewise.
2719         * modules/string-tests: Likewise.
2720         * modules/strings-tests: Likewise.
2721         * modules/sys_select-tests: Likewise.
2722         * modules/sys_socket-tests: Likewise.
2723         * modules/sys_stat-tests: Likewise.
2724         * modules/sys_time-tests: Likewise.
2725         * modules/sys_utsname-tests: Likewise.
2726         * modules/sysexits-tests: Likewise.
2727         * modules/time-tests: Likewise.
2728         * modules/trunc-tests: Likewise.
2729         * modules/truncf-tests: Likewise.
2730         * modules/truncl-tests: Likewise.
2731         * modules/tsearch-tests: Likewise.
2732         * modules/unistd-tests: Likewise.
2733         * modules/wchar-tests: Likewise.
2734         * modules/wctype-tests: Likewise.
2735
2736         tests: fix license on several tests
2737         * tests/test-des.c: Update to GPLv3+.
2738         * tests/test-flock.c: Likewise.
2739         * tests/test-fsync.c: Likewise.
2740         * tests/test-futimens.h: Likewise.
2741         * tests/test-gc-arcfour.c: Likewise.
2742         * tests/test-gc-arctwo.c: Likewise.
2743         * tests/test-gc-des.c: Likewise.
2744         * tests/test-gc-hmac-md5.c: Likewise.
2745         * tests/test-gc-hmac-sha1.c: Likewise.
2746         * tests/test-gc-md2.c: Likewise.
2747         * tests/test-gc-md4.c: Likewise.
2748         * tests/test-gc-md5.c: Likewise.
2749         * tests/test-gc-pbkdf2-sha1.c: Likewise.
2750         * tests/test-gc-rijndael.c: Likewise.
2751         * tests/test-gc-sha1.c: Likewise.
2752         * tests/test-gc.c: Likewise.
2753         * tests/test-getcwd.c: Likewise.
2754         * tests/test-link.c: Likewise.
2755         * tests/test-link.h: Likewise.
2756         * tests/test-lutimens.h: Likewise.
2757         * tests/test-md2.c: Likewise.
2758         * tests/test-md4.c: Likewise.
2759         * tests/test-mkdir.h: Likewise.
2760         * tests/test-rename.c: Likewise.
2761         * tests/test-rename.h: Likewise.
2762         * tests/test-safe-alloc.c: Likewise.
2763         * tests/test-utimens-common.h: Likewise.
2764         * tests/test-utimens.h: Likewise.
2765
2766         maint: sync license texts
2767         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
2768         * doc/gpl-3.0.texi: Revert copyright year update.
2769         * doc/lgpl-3.0.texi: Likewise.
2770
2771 2009-12-29  Jim Meyering  <meyering@redhat.com>
2772
2773         update nearly all FSF copyright year lists to include 2009
2774         The files named by the following are exempted:
2775             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
2776               test -f "$dst" && { echo "$dst"; continue; }
2777               test -d "$dst" || continue
2778               echo "$dst"/$(basename "$src")
2779             done > exempt
2780             git ls-files tests/unictype >> exempt
2781         In the remaining files, convert to all-interval notation if
2782         - there is already at least one year interval like 2000-2003
2783         - the file is maintained by me
2784         - the file is in lib/uni*/, where that style already prevails
2785         Otherwise, use update-copyright's default.
2786
2787 2009-12-29  Simon Josefsson  <simon@josefsson.org>
2788         and Eric Blake  <ebb9@byu.net>
2789
2790         tests: don't require debug system() to pass
2791         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
2792         * tests/test-rmdir.h (test_rmdir_func): Likewise.
2793         * tests/test-unlink.h (test_unlink_func): Likewise.
2794         * tests/test-fstatat.c (main): ...into callers.
2795         * tests/test-lstat.c (main): Likewise.
2796         * tests/test-rmdir.c (main): Likewise.
2797         * tests/test-unlink.c (main): Likewise.
2798         * tests/test-unlinkat.c (main): Likewise.
2799         * tests/test-areadlink-with-size.c (main): Don't require a
2800         debug-only system call to pass, aiding cross-testing to mingw.
2801         * tests/test-areadlink.c (main): Likewise.
2802         * tests/test-areadlinkat-with-size.c (main): Likewise.
2803         * tests/test-areadlinkat.c (main): Likewise.
2804         * tests/test-canonicalize-lgpl.c (main): Likewise.
2805         * tests/test-canonicalize.c (main): Likewise.
2806         * tests/test-chown.c (main): Likewise.
2807         * tests/test-fchownat.c (main): Likewise.
2808         * tests/test-lchown.c (main): Likewise.
2809         * tests/test-fdutimensat.c (main): Likewise.
2810         * tests/test-futimens.c (main): Likewise.
2811         * tests/test-link.c (main): Likewise.
2812         * tests/test-linkat.c (main): Likewise.
2813         * tests/test-mkdir.c (main): Likewise.
2814         * tests/test-mkdirat.c (main): Likewise.
2815         * tests/test-mkfifo.c (main): Likewise.
2816         * tests/test-mkfifoat.c (main): Likewise.
2817         * tests/test-mknod.c (main): Likewise.
2818         * tests/test-readlink.c (main): Likewise.
2819         * tests/test-remove.c (main): Likewise.
2820         * tests/test-rename.c (main): Likewise.
2821         * tests/test-renameat.c (main): Likewise.
2822         * tests/test-symlink.c (main): Likewise.
2823         * tests/test-symlinkat.c (main): Likewise.
2824         * tests/test-utimens.c (main): Likewise.
2825         * tests/test-utimensat.c (main): Likewise.
2826
2827 2009-12-29  Simon Josefsson  <simon@josefsson.org>
2828
2829         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
2830         on $(UNUSED_PARAMETER_H) to avoid build failure.
2831
2832 2009-12-28  Jim Meyering  <meyering@redhat.com>
2833
2834         update-copyright: you may specify a max. line length other than 72
2835         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
2836
2837         maint: use consistent FSF copyright line syntax
2838         * lib/posixtm.c: Add missing comma in FSF copyright line.
2839         * lib/posixtm.h: Likewise.
2840         * lib/getugroups.c: Add missing ", Inc.".
2841
2842         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
2843         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
2844         FSF copyright line.  Remove trailing blanks.
2845
2846 2009-12-28  Eric Blake  <ebb9@byu.net>
2847
2848         test-dup2: reduce dependencies
2849         * modules/cloexec (Configure.ac): Set witness.
2850         * modules/dup2-tests (Depends-on): Drop cloexec.
2851         * tests/test-dup2.c (main): Skip portion of test if cloexec module
2852         not present.
2853         Suggested by Bruno Haible.
2854
2855 2009-12-26  Bruno Haible  <bruno@clisp.org>
2856
2857         Remove an unneeded dependency.
2858         * modules/fseterr (Depends-on): Remove dup2.
2859
2860 2009-12-26  Eric Blake  <ebb9@byu.net>
2861
2862         tests: use macros.h in more places
2863         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
2864         (ASSERT_STREAM): Provide default of stderr.
2865         * tests/test-dirent-safer.c: Include macros.h, using alternate
2866         stream for assertions.
2867         * tests/test-dup-safer.c: Likewise.
2868         * tests/test-freopen-safer.c: Likewise.
2869         * tests/test-getopt.c: Likewise.
2870         * tests/test-openat-safer.c: Likewise.
2871         * tests/test-pipe.c: Likewise.
2872         * tests/test-popen-safer.c: Likewise.
2873         * modules/dirent-safer-tests (Files): Include macros.h.
2874         * modules/unistd-safer-tests (Files): Likewise.
2875         * modules/freopen-safer-tests (Files): Likewise.
2876         * modules/getopt-posix-tests (Files): Likewise.
2877         * modules/openat-safer-tests (Files): Likewise.
2878         * modules/pipe-tests (Files): Likewise.
2879
2880 2009-12-26  Bruno Haible  <bruno@clisp.org>
2881
2882         javacomp: Portability fix.
2883         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
2884         that it also works on Solaris.
2885
2886 2009-12-26  Bruno Haible  <bruno@clisp.org>
2887
2888         localename: Fix storage allocation of gl_locale_name_thread's result.
2889         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
2890         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
2891         all platforms that have 'uselocale'.
2892         (gl_locale_name_thread_unsafe): New function, extracted from
2893         gl_locale_name_thread.
2894         (gl_locale_name_thread): Call struniq on all platforms that have
2895         'uselocale'.
2896         * tests/test-localename.c (test_locale_name_thread): Check that the
2897         resulting strings are permanently allocated.
2898         * modules/localename-tests (Depends-on): Add strdup.
2899
2900 2009-12-26  Bruno Haible  <bruno@clisp.org>
2901
2902         * tests/test-localename.c (categories): Fill in the strings.
2903
2904 2009-12-26  Jim Meyering  <meyering@redhat.com>
2905
2906         isdir: complete the removal of m4/isdir.m4
2907         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
2908
2909         isdir: clean up, since at least grep still uses it
2910         * lib/isdir.c: Include "isdir.h".
2911         (S_ISDIR): Remove now-unneeded definition.
2912         * modules/isdir (Files): Add lib/isdir.h.
2913         * lib/isdir.h: New file, with declaration.
2914         * m4/isdir.m4: Remove file -- unneeded.
2915
2916 2009-12-25  Bruno Haible  <bruno@clisp.org>
2917
2918         selinux-h: Make generated .h files standalone.
2919         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
2920         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
2921         * lib/se-selinux.in.h: Likewise.
2922         * modules/selinux-h (Depends-on): Add unused-parameter.
2923         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
2924         selinux/selinux.h and selinux/context.h.
2925         Suggested by Eric Blake.
2926
2927 2009-12-25  Bruno Haible  <bruno@clisp.org>
2928
2929         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
2930         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
2931         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
2932         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
2933         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
2934
2935 2009-12-24  Bruno Haible  <bruno@clisp.org>
2936
2937         openat: Fix warning.
2938         * lib/openat-proc.c: Include <unistd.h>.
2939
2940 2009-12-24  Bruno Haible  <bruno@clisp.org>
2941
2942         New module 'unused-parameter'.
2943         * build-aux/unused-parameter.h: New file, extracted from earlier
2944         gnulib-common.m4.
2945         * modules/unused-parameter: New file.
2946         * lib/unistr.h: Include unused-parameter.h.
2947         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
2948         _GL_UNUSED.
2949         * modules/unistr/base (Depends-on): Add unused-parameter.
2950
2951 2009-12-24  Bruno Haible  <bruno@clisp.org>
2952
2953         Add missing dependencies to 'extensions' module.
2954         * m4/extensions.m4: Add comment.
2955         * modules/accept4 (Depends-on): Add extensions.
2956         * modules/dup3 (Depends-on): Likewise.
2957         * modules/fcntl (Depends-on): Likewise.
2958         * modules/futimens (Depends-on): Likewise.
2959         * modules/mknod (Depends-on): Likewise.
2960         * modules/pipe2 (Depends-on): Likewise.
2961         * modules/stat-time (Depends-on): Likewise.
2962         * modules/strcasestr-simple (Depends-on): Likewise.
2963         * modules/strsignal (Depends-on): Likewise.
2964         * modules/utimensat (Depends-on): Likewise.
2965         * modules/localcharset (Depends-on): Likewise. Needed because of
2966         gl_FCNTL_O_FLAGS.
2967         * modules/wcrtomb (Depends-on): Likewise. Needed because of
2968         AC_TYPE_MBSTATE_T.
2969         * modules/wcsnrtombs (Depends-on): Likewise.
2970         * modules/wcsrtombs (Depends-on): Likewise.
2971
2972 2009-12-24  Bruno Haible  <bruno@clisp.org>
2973
2974         binary-io: Avoid gcc warning due to SET_BINARY.
2975         * lib/binary-io.h (SET_BINARY): Cast the result to void.
2976         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
2977
2978 2009-12-24  Bruno Haible  <bruno@clisp.org>
2979
2980         Avoid future namespace pollution on glibc systems.
2981         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
2982         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
2983         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
2984         glibc systems.
2985
2986 2009-12-24  Bruno Haible  <bruno@clisp.org>
2987
2988         Refactor common macros used in tests.
2989         * tests/macros.h: New file.
2990         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
2991         and/or <stdlib.h>, if appropriate.
2992         (ASSERT, SIZEOF): Remove macros.
2993         * tests/test-areadlink-with-size.c: Likewise.
2994         * tests/test-areadlinkat.c: Likewise.
2995         * tests/test-areadlinkat-with-size.c: Likewise.
2996         * tests/test-argmatch.c: Likewise.
2997         * tests/test-argv-iter.c: Likewise.
2998         * tests/test-array-mergesort.c: Likewise.
2999         * tests/test-array_list.c: Likewise.
3000         * tests/test-array_oset.c: Likewise.
3001         * tests/test-avltree_list.c: Likewise.
3002         * tests/test-avltree_oset.c: Likewise.
3003         * tests/test-avltreehash_list.c: Likewise.
3004         * tests/test-base64.c: Likewise.
3005         * tests/test-binary-io.c: Likewise.
3006         * tests/test-bitrotate.c: Likewise.
3007         * tests/test-btowc.c: Likewise.
3008         * tests/test-byteswap.c: Likewise.
3009         * tests/test-c-ctype.c: Likewise.
3010         * tests/test-c-stack.c: Likewise.
3011         * tests/test-c-strcasecmp.c: Likewise.
3012         * tests/test-c-strcasestr.c: Likewise.
3013         * tests/test-c-strncasecmp.c: Likewise.
3014         * tests/test-c-strstr.c: Likewise.
3015         * tests/test-canonicalize-lgpl.c: Likewise.
3016         * tests/test-canonicalize.c: Likewise.
3017         * tests/test-carray_list.c: Likewise.
3018         * tests/test-ceilf1.c: Likewise.
3019         * tests/test-ceilf2.c: Likewise.
3020         * tests/test-ceill.c: Likewise.
3021         * tests/test-chown.c: Likewise.
3022         * tests/test-cloexec.c: Likewise.
3023         * tests/test-copy-acl.c: Likewise.
3024         * tests/test-copy-file.c: Likewise.
3025         * tests/test-count-one-bits.c: Likewise.
3026         * tests/test-dprintf-posix.c: Likewise.
3027         * tests/test-dup2.c: Likewise.
3028         * tests/test-dup3.c: Likewise.
3029         * tests/test-duplocale.c: Likewise.
3030         * tests/test-fbufmode.c: Likewise.
3031         * tests/test-fchdir.c: Likewise.
3032         * tests/test-fchownat.c: Likewise.
3033         * tests/test-fcntl-safer.c: Likewise.
3034         * tests/test-fcntl.c: Likewise.
3035         * tests/test-fdopendir.c: Likewise.
3036         * tests/test-fdutimensat.c: Likewise.
3037         * tests/test-fflush2.c: Likewise.
3038         * tests/test-file-has-acl.c: Likewise.
3039         * tests/test-filevercmp.c: Likewise.
3040         * tests/test-flock.c: Likewise.
3041         * tests/test-floorf1.c: Likewise.
3042         * tests/test-floorf2.c: Likewise.
3043         * tests/test-floorl.c: Likewise.
3044         * tests/test-fnmatch.c: Likewise.
3045         * tests/test-fopen.h: Likewise.
3046         * tests/test-fpending.c: Likewise.
3047         * tests/test-fprintf-posix.c: Likewise.
3048         * tests/test-fpurge.c: Likewise.
3049         * tests/test-freadable.c: Likewise.
3050         * tests/test-freadahead.c: Likewise.
3051         * tests/test-freading.c: Likewise.
3052         * tests/test-freadptr.c: Likewise.
3053         * tests/test-freadptr2.c: Likewise.
3054         * tests/test-freadseek.c: Likewise.
3055         * tests/test-freopen.c: Likewise.
3056         * tests/test-frexp.c: Likewise.
3057         * tests/test-frexpl.c: Likewise.
3058         * tests/test-fseek.c: Likewise.
3059         * tests/test-fseeko.c: Likewise.
3060         * tests/test-fstatat.c: Likewise.
3061         * tests/test-fstrcmp.c: Likewise.
3062         * tests/test-fsync.c: Likewise.
3063         * tests/test-ftell.c: Likewise.
3064         * tests/test-ftello.c: Likewise.
3065         * tests/test-func.c: Likewise.
3066         * tests/test-futimens.c: Likewise.
3067         * tests/test-fwritable.c: Likewise.
3068         * tests/test-fwriting.c: Likewise.
3069         * tests/test-getcwd.c: Likewise.
3070         * tests/test-getdate.c: Likewise.
3071         * tests/test-getdelim.c: Likewise.
3072         * tests/test-getdtablesize.c: Likewise.
3073         * tests/test-getgroups.c: Likewise.
3074         * tests/test-getline.c: Likewise.
3075         * tests/test-getndelim2.c: Likewise.
3076         * tests/test-glob.c: Likewise.
3077         * tests/test-hash.c: Likewise.
3078         * tests/test-i-ring.c: Likewise.
3079         * tests/test-iconv-utf.c: Likewise.
3080         * tests/test-iconv.c: Likewise.
3081         * tests/test-idpriv-drop.c: Likewise.
3082         * tests/test-idpriv-droptemp.c: Likewise.
3083         * tests/test-inet_ntop.c: Likewise.
3084         * tests/test-inet_pton.c: Likewise.
3085         * tests/test-isblank.c: Likewise.
3086         * tests/test-isfinite.c: Likewise.
3087         * tests/test-isinf.c: Likewise.
3088         * tests/test-isnan.c: Likewise.
3089         * tests/test-isnand.h: Likewise.
3090         * tests/test-isnanf.h: Likewise.
3091         * tests/test-isnanl.h: Likewise.
3092         * tests/test-lchown.c: Likewise.
3093         * tests/test-ldexpl.c: Likewise.
3094         * tests/test-link.c: Likewise.
3095         * tests/test-linkat.c: Likewise.
3096         * tests/test-linked_list.c: Likewise.
3097         * tests/test-linkedhash_list.c: Likewise.
3098         * tests/test-localename.c: Likewise.
3099         * tests/test-lseek.c: Likewise.
3100         * tests/test-lstat.c: Likewise.
3101         * tests/test-mbmemcasecmp.c: Likewise.
3102         * tests/test-mbmemcasecoll.c: Likewise.
3103         * tests/test-mbrtowc.c: Likewise.
3104         * tests/test-mbscasecmp.c: Likewise.
3105         * tests/test-mbscasestr1.c: Likewise.
3106         * tests/test-mbscasestr2.c: Likewise.
3107         * tests/test-mbscasestr3.c: Likewise.
3108         * tests/test-mbscasestr4.c: Likewise.
3109         * tests/test-mbschr.c: Likewise.
3110         * tests/test-mbscspn.c: Likewise.
3111         * tests/test-mbsinit.c: Likewise.
3112         * tests/test-mbsncasecmp.c: Likewise.
3113         * tests/test-mbsnrtowcs.c: Likewise.
3114         * tests/test-mbspbrk.c: Likewise.
3115         * tests/test-mbspcasecmp.c: Likewise.
3116         * tests/test-mbsrchr.c: Likewise.
3117         * tests/test-mbsrtowcs.c: Likewise.
3118         * tests/test-mbsspn.c: Likewise.
3119         * tests/test-mbsstr1.c: Likewise.
3120         * tests/test-mbsstr2.c: Likewise.
3121         * tests/test-mbsstr3.c: Likewise.
3122         * tests/test-memchr.c: Likewise.
3123         * tests/test-memchr2.c: Likewise.
3124         * tests/test-memcmp.c: Likewise.
3125         * tests/test-memmem.c: Likewise.
3126         * tests/test-memrchr.c: Likewise.
3127         * tests/test-mkdir.c: Likewise.
3128         * tests/test-mkdirat.c: Likewise.
3129         * tests/test-mkfifo.c: Likewise.
3130         * tests/test-mkfifoat.c: Likewise.
3131         * tests/test-mknod.c: Likewise.
3132         * tests/test-nanosleep.c: Likewise.
3133         * tests/test-nl_langinfo.c: Likewise.
3134         * tests/test-obstack-printf.c: Likewise.
3135         * tests/test-open.c: Likewise.
3136         * tests/test-openat.c: Likewise.
3137         * tests/test-pipe-filter-gi1.c: Likewise.
3138         * tests/test-pipe-filter-gi2-main.c: Likewise.
3139         * tests/test-pipe-filter-ii1.c: Likewise.
3140         * tests/test-pipe-filter-ii2-main.c: Likewise.
3141         * tests/test-pipe2.c: Likewise.
3142         * tests/test-popen.h: Likewise.
3143         * tests/test-posixtm.c: Likewise.
3144         * tests/test-pread.c: Likewise.
3145         * tests/test-printf-frexp.c: Likewise.
3146         * tests/test-printf-frexpl.c: Likewise.
3147         * tests/test-printf-posix.c: Likewise.
3148         * tests/test-priv-set.c: Likewise.
3149         * tests/test-quotearg.c: Likewise.
3150         * tests/test-random_r.c: Likewise.
3151         * tests/test-rawmemchr.c: Likewise.
3152         * tests/test-rbtree_list.c: Likewise.
3153         * tests/test-rbtree_oset.c: Likewise.
3154         * tests/test-rbtreehash_list.c: Likewise.
3155         * tests/test-readlink.c: Likewise.
3156         * tests/test-remove.c: Likewise.
3157         * tests/test-rename.c: Likewise.
3158         * tests/test-renameat.c: Likewise.
3159         * tests/test-rmdir.c: Likewise.
3160         * tests/test-round1.c: Likewise.
3161         * tests/test-roundf1.c: Likewise.
3162         * tests/test-roundl.c: Likewise.
3163         * tests/test-safe-alloc.c: Likewise.
3164         * tests/test-sameacls.c: Likewise.
3165         * tests/test-set-mode-acl.c: Likewise.
3166         * tests/test-setenv.c: Likewise.
3167         * tests/test-sigaction.c: Likewise.
3168         * tests/test-signbit.c: Likewise.
3169         * tests/test-sleep.c: Likewise.
3170         * tests/test-snprintf-posix.c: Likewise.
3171         * tests/test-snprintf.c: Likewise.
3172         * tests/test-sprintf-posix.c: Likewise.
3173         * tests/test-stat-time.c: Likewise.
3174         * tests/test-stat.c: Likewise.
3175         * tests/test-strcasestr.c: Likewise.
3176         * tests/test-strchrnul.c: Likewise.
3177         * tests/test-strerror.c: Likewise.
3178         * tests/test-striconv.c: Likewise.
3179         * tests/test-striconveh.c: Likewise.
3180         * tests/test-striconveha.c: Likewise.
3181         * tests/test-strsignal.c: Likewise.
3182         * tests/test-strstr.c: Likewise.
3183         * tests/test-strtod.c: Likewise.
3184         * tests/test-strverscmp.c: Likewise.
3185         * tests/test-symlink.c: Likewise.
3186         * tests/test-symlinkat.c: Likewise.
3187         * tests/test-trunc1.c: Likewise.
3188         * tests/test-trunc2.c: Likewise.
3189         * tests/test-truncf1.c: Likewise.
3190         * tests/test-truncf2.c: Likewise.
3191         * tests/test-truncl.c: Likewise.
3192         * tests/test-uname.c: Likewise.
3193         * tests/test-unlink.c: Likewise.
3194         * tests/test-unlinkat.c: Likewise.
3195         * tests/test-unsetenv.c: Likewise.
3196         * tests/test-usleep.c: Likewise.
3197         * tests/test-utimens.c: Likewise.
3198         * tests/test-utimensat.c: Likewise.
3199         * tests/test-vasnprintf-posix.c: Likewise.
3200         * tests/test-vasnprintf-posix2.c: Likewise.
3201         * tests/test-vasnprintf.c: Likewise.
3202         * tests/test-vasprintf-posix.c: Likewise.
3203         * tests/test-vasprintf.c: Likewise.
3204         * tests/test-vdprintf-posix.c: Likewise.
3205         * tests/test-vfprintf-posix.c: Likewise.
3206         * tests/test-vprintf-posix.c: Likewise.
3207         * tests/test-vsnprintf-posix.c: Likewise.
3208         * tests/test-vsnprintf.c: Likewise.
3209         * tests/test-vsprintf-posix.c: Likewise.
3210         * tests/test-wcrtomb.c: Likewise.
3211         * tests/test-wcsnrtombs.c: Likewise.
3212         * tests/test-wcsrtombs.c: Likewise.
3213         * tests/test-wctype.c: Likewise.
3214         * tests/test-wcwidth.c: Likewise.
3215         * tests/test-xfprintf-posix.c: Likewise.
3216         * tests/test-xmemdup0.c: Likewise.
3217         * tests/test-xprintf-posix.c: Likewise.
3218         * tests/test-xvasprintf.c: Likewise.
3219         * tests/unicase/test-locale-language.c: Likewise.
3220         * tests/unicase/test-mapping-part1.h: Likewise.
3221         * tests/unicase/test-predicate-part1.h: Likewise.
3222         * tests/unicase/test-u8-casecmp.c: Likewise.
3223         * tests/unicase/test-u8-casecoll.c: Likewise.
3224         * tests/unicase/test-u8-casefold.c: Likewise.
3225         * tests/unicase/test-u8-is-cased.c: Likewise.
3226         * tests/unicase/test-u8-is-casefolded.c: Likewise.
3227         * tests/unicase/test-u8-is-lowercase.c: Likewise.
3228         * tests/unicase/test-u8-is-titlecase.c: Likewise.
3229         * tests/unicase/test-u8-is-uppercase.c: Likewise.
3230         * tests/unicase/test-u8-tolower.c: Likewise.
3231         * tests/unicase/test-u8-totitle.c: Likewise.
3232         * tests/unicase/test-u8-toupper.c: Likewise.
3233         * tests/unicase/test-u16-casecmp.c: Likewise.
3234         * tests/unicase/test-u16-casecoll.c: Likewise.
3235         * tests/unicase/test-u16-casefold.c: Likewise.
3236         * tests/unicase/test-u16-is-cased.c: Likewise.
3237         * tests/unicase/test-u16-is-casefolded.c: Likewise.
3238         * tests/unicase/test-u16-is-lowercase.c: Likewise.
3239         * tests/unicase/test-u16-is-titlecase.c: Likewise.
3240         * tests/unicase/test-u16-is-uppercase.c: Likewise.
3241         * tests/unicase/test-u16-tolower.c: Likewise.
3242         * tests/unicase/test-u16-totitle.c: Likewise.
3243         * tests/unicase/test-u16-toupper.c: Likewise.
3244         * tests/unicase/test-u32-casecmp.c: Likewise.
3245         * tests/unicase/test-u32-casecoll.c: Likewise.
3246         * tests/unicase/test-u32-casefold.c: Likewise.
3247         * tests/unicase/test-u32-is-cased.c: Likewise.
3248         * tests/unicase/test-u32-is-casefolded.c: Likewise.
3249         * tests/unicase/test-u32-is-lowercase.c: Likewise.
3250         * tests/unicase/test-u32-is-titlecase.c: Likewise.
3251         * tests/unicase/test-u32-is-uppercase.c: Likewise.
3252         * tests/unicase/test-u32-tolower.c: Likewise.
3253         * tests/unicase/test-u32-totitle.c: Likewise.
3254         * tests/unicase/test-u32-toupper.c: Likewise.
3255         * tests/unicase/test-ulc-casecmp.c: Likewise.
3256         * tests/unicase/test-ulc-casecoll.c: Likewise.
3257         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
3258         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
3259         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
3260         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
3261         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
3262         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
3263         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
3264         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
3265         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
3266         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
3267         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
3268         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
3269         * tests/unictype/test-bidi_byname.c: Likewise.
3270         * tests/unictype/test-bidi_name.c: Likewise.
3271         * tests/unictype/test-bidi_of.c: Likewise.
3272         * tests/unictype/test-bidi_test.c: Likewise.
3273         * tests/unictype/test-block_list.c: Likewise.
3274         * tests/unictype/test-block_of.c: Likewise.
3275         * tests/unictype/test-block_test.c: Likewise.
3276         * tests/unictype/test-categ_and.c: Likewise.
3277         * tests/unictype/test-categ_and_not.c: Likewise.
3278         * tests/unictype/test-categ_byname.c: Likewise.
3279         * tests/unictype/test-categ_name.c: Likewise.
3280         * tests/unictype/test-categ_none.c: Likewise.
3281         * tests/unictype/test-categ_of.c: Likewise.
3282         * tests/unictype/test-categ_or.c: Likewise.
3283         * tests/unictype/test-categ_test_withtable.c: Likewise.
3284         * tests/unictype/test-combining.c: Likewise.
3285         * tests/unictype/test-decdigit.c: Likewise.
3286         * tests/unictype/test-digit.c: Likewise.
3287         * tests/unictype/test-mirror.c: Likewise.
3288         * tests/unictype/test-numeric.c: Likewise.
3289         * tests/unictype/test-pr_byname.c: Likewise.
3290         * tests/unictype/test-pr_test.c: Likewise.
3291         * tests/unictype/test-predicate-part1.h: Likewise.
3292         * tests/unictype/test-scripts.c: Likewise.
3293         * tests/unictype/test-sy_c_ident.c: Likewise.
3294         * tests/unictype/test-sy_java_ident.c: Likewise.
3295         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
3296         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
3297         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
3298         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
3299         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
3300         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
3301         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
3302         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
3303         * tests/uninorm/test-canonical-decomposition.c: Likewise.
3304         * tests/uninorm/test-compat-decomposition.c: Likewise.
3305         * tests/uninorm/test-composition.c: Likewise.
3306         * tests/uninorm/test-decomposing-form.c: Likewise.
3307         * tests/uninorm/test-decomposition.c: Likewise.
3308         * tests/uninorm/test-u8-nfc.c: Likewise.
3309         * tests/uninorm/test-u8-nfd.c: Likewise.
3310         * tests/uninorm/test-u8-nfkc.c: Likewise.
3311         * tests/uninorm/test-u8-nfkd.c: Likewise.
3312         * tests/uninorm/test-u8-normcmp.c: Likewise.
3313         * tests/uninorm/test-u8-normcoll.c: Likewise.
3314         * tests/uninorm/test-u16-nfc.c: Likewise.
3315         * tests/uninorm/test-u16-nfd.c: Likewise.
3316         * tests/uninorm/test-u16-nfkc.c: Likewise.
3317         * tests/uninorm/test-u16-nfkd.c: Likewise.
3318         * tests/uninorm/test-u16-normcmp.c: Likewise.
3319         * tests/uninorm/test-u16-normcoll.c: Likewise.
3320         * tests/uninorm/test-u32-nfc.c: Likewise.
3321         * tests/uninorm/test-u32-nfd.c: Likewise.
3322         * tests/uninorm/test-u32-nfkc.c: Likewise.
3323         * tests/uninorm/test-u32-nfkd.c: Likewise.
3324         * tests/uninorm/test-u32-normalize-big.c: Likewise.
3325         * tests/uninorm/test-u32-normcmp.c: Likewise.
3326         * tests/uninorm/test-u32-normcoll.c: Likewise.
3327         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
3328         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
3329         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
3330         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
3331         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
3332         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
3333         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
3334         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
3335         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
3336         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
3337         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
3338         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
3339         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
3340         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
3341         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
3342         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
3343         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
3344         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
3345         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
3346         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
3347         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
3348         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
3349         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
3350         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
3351         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
3352         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
3353         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
3354         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
3355         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
3356         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
3357         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
3358         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
3359         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
3360         * tests/uniwidth/test-u8-strwidth.c: Likewise.
3361         * tests/uniwidth/test-u8-width.c: Likewise.
3362         * tests/uniwidth/test-u16-strwidth.c: Likewise.
3363         * tests/uniwidth/test-u16-width.c: Likewise.
3364         * tests/uniwidth/test-u32-strwidth.c: Likewise.
3365         * tests/uniwidth/test-u32-width.c: Likewise.
3366         * tests/uniwidth/test-uc_width.c: Likewise.
3367         * tests/uniwidth/test-uc_width2.c: Likewise.
3368         * modules/acl-tests (Files): Add tests/macros.h.
3369         * modules/areadlink-tests (Files): Likewise.
3370         * modules/areadlink-with-size-tests (Files): Likewise.
3371         * modules/areadlinkat-tests (Files): Likewise.
3372         * modules/areadlinkat-with-size-tests (Files): Likewise.
3373         * modules/argmatch-tests (Files): Likewise.
3374         * modules/argv-iter-tests (Files): Likewise.
3375         * modules/array-list-tests (Files): Likewise.
3376         * modules/array-mergesort-tests (Files): Likewise.
3377         * modules/array-oset-tests (Files): Likewise.
3378         * modules/avltree-list-tests (Files): Likewise.
3379         * modules/avltree-oset-tests (Files): Likewise.
3380         * modules/avltreehash-list-tests (Files): Likewise.
3381         * modules/base64-tests (Files): Likewise.
3382         * modules/binary-io-tests (Files): Likewise.
3383         * modules/bitrotate-tests (Files): Likewise.
3384         * modules/btowc-tests (Files): Likewise.
3385         * modules/byteswap-tests (Files): Likewise.
3386         * modules/c-ctype-tests (Files): Likewise.
3387         * modules/c-stack-tests (Files): Likewise.
3388         * modules/c-strcase-tests (Files): Likewise.
3389         * modules/c-strcasestr-tests (Files): Likewise.
3390         * modules/c-strstr-tests (Files): Likewise.
3391         * modules/canonicalize-lgpl-tests (Files): Likewise.
3392         * modules/canonicalize-tests (Files): Likewise.
3393         * modules/carray-list-tests (Files): Likewise.
3394         * modules/ceilf-tests (Files): Likewise.
3395         * modules/ceill-tests (Files): Likewise.
3396         * modules/chown-tests (Files): Likewise.
3397         * modules/cloexec-tests (Files): Likewise.
3398         * modules/copy-file-tests (Files): Likewise.
3399         * modules/count-one-bits-tests (Files): Likewise.
3400         * modules/dprintf-posix-tests (Files): Likewise.
3401         * modules/dup2-tests (Files): Likewise.
3402         * modules/dup3-tests (Files): Likewise.
3403         * modules/duplocale-tests (Files): Likewise.
3404         * modules/fbufmode-tests (Files): Likewise.
3405         * modules/fchdir-tests (Files): Likewise.
3406         * modules/fcntl-safer-tests (Files): Likewise.
3407         * modules/fcntl-tests (Files): Likewise.
3408         * modules/fdopendir-tests (Files): Likewise.
3409         * modules/fdutimensat-tests (Files): Likewise.
3410         * modules/fflush-tests (Files): Likewise.
3411         * modules/filevercmp-tests (Files): Likewise.
3412         * modules/flock-tests (Files): Likewise.
3413         * modules/floorf-tests (Files): Likewise.
3414         * modules/floorl-tests (Files): Likewise.
3415         * modules/fnmatch-tests (Files): Likewise.
3416         * modules/fopen-safer-tests (Files): Likewise.
3417         * modules/fopen-tests (Files): Likewise.
3418         * modules/fpending-tests (Files): Likewise.
3419         * modules/fprintf-posix-tests (Files): Likewise.
3420         * modules/fpurge-tests (Files): Likewise.
3421         * modules/freadable-tests (Files): Likewise.
3422         * modules/freadahead-tests (Files): Likewise.
3423         * modules/freading-tests (Files): Likewise.
3424         * modules/freadptr-tests (Files): Likewise.
3425         * modules/freadseek-tests (Files): Likewise.
3426         * modules/freopen-tests (Files): Likewise.
3427         * modules/frexp-nolibm-tests (Files): Likewise.
3428         * modules/frexp-tests (Files): Likewise.
3429         * modules/frexpl-nolibm-tests (Files): Likewise.
3430         * modules/frexpl-tests (Files): Likewise.
3431         * modules/fseek-tests (Files): Likewise.
3432         * modules/fseeko-tests (Files): Likewise.
3433         * modules/fstrcmp-tests (Files): Likewise.
3434         * modules/fsync-tests (Files): Likewise.
3435         * modules/ftell-tests (Files): Likewise.
3436         * modules/ftello-tests (Files): Likewise.
3437         * modules/func-tests (Files): Likewise.
3438         * modules/futimens-tests (Files): Likewise.
3439         * modules/fwritable-tests (Files): Likewise.
3440         * modules/fwriting-tests (Files): Likewise.
3441         * modules/getcwd-tests (Files): Likewise.
3442         * modules/getdate-tests (Files): Likewise.
3443         * modules/getdelim-tests (Files): Likewise.
3444         * modules/getdtablesize-tests (Files): Likewise.
3445         * modules/getgroups-tests (Files): Likewise.
3446         * modules/getline-tests (Files): Likewise.
3447         * modules/getndelim2-tests (Files): Likewise.
3448         * modules/glob-tests (Files): Likewise.
3449         * modules/hash-tests (Files): Likewise.
3450         * modules/i-ring-tests (Files): Likewise.
3451         * modules/iconv-tests (Files): Likewise.
3452         * modules/iconv_open-utf-tests (Files): Likewise.
3453         * modules/idpriv-drop-tests (Files): Likewise.
3454         * modules/idpriv-droptemp-tests (Files): Likewise.
3455         * modules/inet_ntop-tests (Files): Likewise.
3456         * modules/inet_pton-tests (Files): Likewise.
3457         * modules/isblank-tests (Files): Likewise.
3458         * modules/isfinite-tests (Files): Likewise.
3459         * modules/isinf-tests (Files): Likewise.
3460         * modules/isnan-tests (Files): Likewise.
3461         * modules/isnand-nolibm-tests (Files): Likewise.
3462         * modules/isnand-tests (Files): Likewise.
3463         * modules/isnanf-nolibm-tests (Files): Likewise.
3464         * modules/isnanf-tests (Files): Likewise.
3465         * modules/isnanl-nolibm-tests (Files): Likewise.
3466         * modules/isnanl-tests (Files): Likewise.
3467         * modules/lchown-tests (Files): Likewise.
3468         * modules/ldexpl-tests (Files): Likewise.
3469         * modules/link-tests (Files): Likewise.
3470         * modules/linkat-tests (Files): Likewise.
3471         * modules/linked-list-tests (Files): Likewise.
3472         * modules/linkedhash-list-tests (Files): Likewise.
3473         * modules/localename-tests (Files): Likewise.
3474         * modules/lseek-tests (Files): Likewise.
3475         * modules/lstat-tests (Files): Likewise.
3476         * modules/mbmemcasecmp-tests (Files): Likewise.
3477         * modules/mbmemcasecoll-tests (Files): Likewise.
3478         * modules/mbrtowc-tests (Files): Likewise.
3479         * modules/mbscasecmp-tests (Files): Likewise.
3480         * modules/mbscasestr-tests (Files): Likewise.
3481         * modules/mbschr-tests (Files): Likewise.
3482         * modules/mbscspn-tests (Files): Likewise.
3483         * modules/mbsinit-tests (Files): Likewise.
3484         * modules/mbsncasecmp-tests (Files): Likewise.
3485         * modules/mbsnrtowcs-tests (Files): Likewise.
3486         * modules/mbspbrk-tests (Files): Likewise.
3487         * modules/mbspcasecmp-tests (Files): Likewise.
3488         * modules/mbsrchr-tests (Files): Likewise.
3489         * modules/mbsrtowcs-tests (Files): Likewise.
3490         * modules/mbsspn-tests (Files): Likewise.
3491         * modules/mbsstr-tests (Files): Likewise.
3492         * modules/memchr-tests (Files): Likewise.
3493         * modules/memchr2-tests (Files): Likewise.
3494         * modules/memcmp-tests (Files): Likewise.
3495         * modules/memmem-tests (Files): Likewise.
3496         * modules/memrchr-tests (Files): Likewise.
3497         * modules/mkdir-tests (Files): Likewise.
3498         * modules/mkfifo-tests (Files): Likewise.
3499         * modules/mkfifoat-tests (Files): Likewise.
3500         * modules/mknod-tests (Files): Likewise.
3501         * modules/nanosleep-tests (Files): Likewise.
3502         * modules/nl_langinfo-tests (Files): Likewise.
3503         * modules/obstack-printf-tests (Files): Likewise.
3504         * modules/open-tests (Files): Likewise.
3505         * modules/openat-tests (Files): Likewise.
3506         * modules/pipe-filter-gi-tests (Files): Likewise.
3507         * modules/pipe-filter-ii-tests (Files): Likewise.
3508         * modules/pipe2-tests (Files): Likewise.
3509         * modules/popen-safer-tests (Files): Likewise.
3510         * modules/popen-tests (Files): Likewise.
3511         * modules/posixtm-tests (Files): Likewise.
3512         * modules/pread-tests (Files): Likewise.
3513         * modules/printf-frexp-tests (Files): Likewise.
3514         * modules/printf-frexpl-tests (Files): Likewise.
3515         * modules/printf-posix-tests (Files): Likewise.
3516         * modules/priv-set-tests (Files): Likewise.
3517         * modules/quotearg-tests (Files): Likewise.
3518         * modules/random_r-tests (Files): Likewise.
3519         * modules/rawmemchr-tests (Files): Likewise.
3520         * modules/rbtree-list-tests (Files): Likewise.
3521         * modules/rbtree-oset-tests (Files): Likewise.
3522         * modules/rbtreehash-list-tests (Files): Likewise.
3523         * modules/readlink-tests (Files): Likewise.
3524         * modules/remove-tests (Files): Likewise.
3525         * modules/rename-tests (Files): Likewise.
3526         * modules/renameat-tests (Files): Likewise.
3527         * modules/rmdir-tests (Files): Likewise.
3528         * modules/round-tests (Files): Likewise.
3529         * modules/roundf-tests (Files): Likewise.
3530         * modules/roundl-tests (Files): Likewise.
3531         * modules/safe-alloc-tests (Files): Likewise.
3532         * modules/setenv-tests (Files): Likewise.
3533         * modules/sigaction-tests (Files): Likewise.
3534         * modules/signbit-tests (Files): Likewise.
3535         * modules/sleep-tests (Files): Likewise.
3536         * modules/snprintf-posix-tests (Files): Likewise.
3537         * modules/snprintf-tests (Files): Likewise.
3538         * modules/sprintf-posix-tests (Files): Likewise.
3539         * modules/stat-tests (Files): Likewise.
3540         * modules/stat-time-tests (Files): Likewise.
3541         * modules/strcasestr-tests (Files): Likewise.
3542         * modules/strchrnul-tests (Files): Likewise.
3543         * modules/strerror-tests (Files): Likewise.
3544         * modules/striconv-tests (Files): Likewise.
3545         * modules/striconveh-tests (Files): Likewise.
3546         * modules/striconveha-tests (Files): Likewise.
3547         * modules/strsignal-tests (Files): Likewise.
3548         * modules/strstr-tests (Files): Likewise.
3549         * modules/strtod-tests (Files): Likewise.
3550         * modules/strverscmp-tests (Files): Likewise.
3551         * modules/symlink-tests (Files): Likewise.
3552         * modules/symlinkat-tests (Files): Likewise.
3553         * modules/trunc-tests (Files): Likewise.
3554         * modules/truncf-tests (Files): Likewise.
3555         * modules/truncl-tests (Files): Likewise.
3556         * modules/uname-tests (Files): Likewise.
3557         * modules/unicase/cased-tests (Files): Likewise.
3558         * modules/unicase/ignorable-tests (Files): Likewise.
3559         * modules/unicase/locale-language-tests (Files): Likewise.
3560         * modules/unicase/tolower-tests (Files): Likewise.
3561         * modules/unicase/totitle-tests (Files): Likewise.
3562         * modules/unicase/toupper-tests (Files): Likewise.
3563         * modules/unicase/u8-casecmp-tests (Files): Likewise.
3564         * modules/unicase/u8-casecoll-tests (Files): Likewise.
3565         * modules/unicase/u8-casefold-tests (Files): Likewise.
3566         * modules/unicase/u8-is-cased-tests (Files): Likewise.
3567         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
3568         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
3569         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
3570         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
3571         * modules/unicase/u8-tolower-tests (Files): Likewise.
3572         * modules/unicase/u8-totitle-tests (Files): Likewise.
3573         * modules/unicase/u8-toupper-tests (Files): Likewise.
3574         * modules/unicase/u16-casecmp-tests (Files): Likewise.
3575         * modules/unicase/u16-casecoll-tests (Files): Likewise.
3576         * modules/unicase/u16-casefold-tests (Files): Likewise.
3577         * modules/unicase/u16-is-cased-tests (Files): Likewise.
3578         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
3579         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
3580         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
3581         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
3582         * modules/unicase/u16-tolower-tests (Files): Likewise.
3583         * modules/unicase/u16-totitle-tests (Files): Likewise.
3584         * modules/unicase/u16-toupper-tests (Files): Likewise.
3585         * modules/unicase/u32-casecmp-tests (Files): Likewise.
3586         * modules/unicase/u32-casecoll-tests (Files): Likewise.
3587         * modules/unicase/u32-casefold-tests (Files): Likewise.
3588         * modules/unicase/u32-is-cased-tests (Files): Likewise.
3589         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
3590         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
3591         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
3592         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
3593         * modules/unicase/u32-tolower-tests (Files): Likewise.
3594         * modules/unicase/u32-totitle-tests (Files): Likewise.
3595         * modules/unicase/u32-toupper-tests (Files): Likewise.
3596         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
3597         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
3598         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
3599         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
3600         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
3601         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
3602         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
3603         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
3604         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
3605         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
3606         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
3607         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
3608         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
3609         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
3610         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
3611         * modules/unictype/bidicategory-name-tests (Files): Likewise.
3612         * modules/unictype/bidicategory-of-tests (Files): Likewise.
3613         * modules/unictype/bidicategory-test-tests (Files): Likewise.
3614         * modules/unictype/block-list-tests (Files): Likewise.
3615         * modules/unictype/block-of-tests (Files): Likewise.
3616         * modules/unictype/block-test-tests (Files): Likewise.
3617         * modules/unictype/category-C-tests (Files): Likewise.
3618         * modules/unictype/category-Cc-tests (Files): Likewise.
3619         * modules/unictype/category-Cf-tests (Files): Likewise.
3620         * modules/unictype/category-Cn-tests (Files): Likewise.
3621         * modules/unictype/category-Co-tests (Files): Likewise.
3622         * modules/unictype/category-Cs-tests (Files): Likewise.
3623         * modules/unictype/category-L-tests (Files): Likewise.
3624         * modules/unictype/category-Ll-tests (Files): Likewise.
3625         * modules/unictype/category-Lm-tests (Files): Likewise.
3626         * modules/unictype/category-Lo-tests (Files): Likewise.
3627         * modules/unictype/category-Lt-tests (Files): Likewise.
3628         * modules/unictype/category-Lu-tests (Files): Likewise.
3629         * modules/unictype/category-M-tests (Files): Likewise.
3630         * modules/unictype/category-Mc-tests (Files): Likewise.
3631         * modules/unictype/category-Me-tests (Files): Likewise.
3632         * modules/unictype/category-Mn-tests (Files): Likewise.
3633         * modules/unictype/category-N-tests (Files): Likewise.
3634         * modules/unictype/category-Nd-tests (Files): Likewise.
3635         * modules/unictype/category-Nl-tests (Files): Likewise.
3636         * modules/unictype/category-No-tests (Files): Likewise.
3637         * modules/unictype/category-P-tests (Files): Likewise.
3638         * modules/unictype/category-Pc-tests (Files): Likewise.
3639         * modules/unictype/category-Pd-tests (Files): Likewise.
3640         * modules/unictype/category-Pe-tests (Files): Likewise.
3641         * modules/unictype/category-Pf-tests (Files): Likewise.
3642         * modules/unictype/category-Pi-tests (Files): Likewise.
3643         * modules/unictype/category-Po-tests (Files): Likewise.
3644         * modules/unictype/category-Ps-tests (Files): Likewise.
3645         * modules/unictype/category-S-tests (Files): Likewise.
3646         * modules/unictype/category-Sc-tests (Files): Likewise.
3647         * modules/unictype/category-Sk-tests (Files): Likewise.
3648         * modules/unictype/category-Sm-tests (Files): Likewise.
3649         * modules/unictype/category-So-tests (Files): Likewise.
3650         * modules/unictype/category-Z-tests (Files): Likewise.
3651         * modules/unictype/category-Zl-tests (Files): Likewise.
3652         * modules/unictype/category-Zp-tests (Files): Likewise.
3653         * modules/unictype/category-Zs-tests (Files): Likewise.
3654         * modules/unictype/category-and-not-tests (Files): Likewise.
3655         * modules/unictype/category-and-tests (Files): Likewise.
3656         * modules/unictype/category-byname-tests (Files): Likewise.
3657         * modules/unictype/category-name-tests (Files): Likewise.
3658         * modules/unictype/category-none-tests (Files): Likewise.
3659         * modules/unictype/category-of-tests (Files): Likewise.
3660         * modules/unictype/category-or-tests (Files): Likewise.
3661         * modules/unictype/category-test-withtable-tests (Files): Likewise.
3662         * modules/unictype/combining-class-tests (Files): Likewise.
3663         * modules/unictype/ctype-alnum-tests (Files): Likewise.
3664         * modules/unictype/ctype-alpha-tests (Files): Likewise.
3665         * modules/unictype/ctype-blank-tests (Files): Likewise.
3666         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
3667         * modules/unictype/ctype-digit-tests (Files): Likewise.
3668         * modules/unictype/ctype-graph-tests (Files): Likewise.
3669         * modules/unictype/ctype-lower-tests (Files): Likewise.
3670         * modules/unictype/ctype-print-tests (Files): Likewise.
3671         * modules/unictype/ctype-punct-tests (Files): Likewise.
3672         * modules/unictype/ctype-space-tests (Files): Likewise.
3673         * modules/unictype/ctype-upper-tests (Files): Likewise.
3674         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
3675         * modules/unictype/decimal-digit-tests (Files): Likewise.
3676         * modules/unictype/digit-tests (Files): Likewise.
3677         * modules/unictype/mirror-tests (Files): Likewise.
3678         * modules/unictype/numeric-tests (Files): Likewise.
3679         * modules/unictype/property-alphabetic-tests (Files): Likewise.
3680         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
3681         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
3682         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
3683         Likewise.
3684         * modules/unictype/property-bidi-block-separator-tests (Files):
3685         Likewise.
3686         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
3687         Likewise.
3688         * modules/unictype/property-bidi-common-separator-tests (Files):
3689         Likewise.
3690         * modules/unictype/property-bidi-control-tests (Files): Likewise.
3691         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
3692         Likewise.
3693         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
3694         Likewise.
3695         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
3696         Likewise.
3697         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
3698         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
3699         Likewise.
3700         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
3701         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
3702         Likewise.
3703         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
3704         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
3705         * modules/unictype/property-bidi-segment-separator-tests (Files):
3706         Likewise.
3707         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
3708         * modules/unictype/property-byname-tests (Files): Likewise.
3709         * modules/unictype/property-combining-tests (Files): Likewise.
3710         * modules/unictype/property-composite-tests (Files): Likewise.
3711         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
3712         * modules/unictype/property-dash-tests (Files): Likewise.
3713         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
3714         * modules/unictype/property-default-ignorable-code-point-tests (Files):
3715         Likewise.
3716         * modules/unictype/property-deprecated-tests (Files): Likewise.
3717         * modules/unictype/property-diacritic-tests (Files): Likewise.
3718         * modules/unictype/property-extender-tests (Files): Likewise.
3719         * modules/unictype/property-format-control-tests (Files): Likewise.
3720         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
3721         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
3722         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
3723         * modules/unictype/property-hex-digit-tests (Files): Likewise.
3724         * modules/unictype/property-hyphen-tests (Files): Likewise.
3725         * modules/unictype/property-id-continue-tests (Files): Likewise.
3726         * modules/unictype/property-id-start-tests (Files): Likewise.
3727         * modules/unictype/property-ideographic-tests (Files): Likewise.
3728         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
3729         * modules/unictype/property-ids-trinary-operator-tests (Files):
3730         Likewise.
3731         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
3732         * modules/unictype/property-iso-control-tests (Files): Likewise.
3733         * modules/unictype/property-join-control-tests (Files): Likewise.
3734         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
3735         * modules/unictype/property-line-separator-tests (Files): Likewise.
3736         * modules/unictype/property-logical-order-exception-tests (Files):
3737         Likewise.
3738         * modules/unictype/property-lowercase-tests (Files): Likewise.
3739         * modules/unictype/property-math-tests (Files): Likewise.
3740         * modules/unictype/property-non-break-tests (Files): Likewise.
3741         * modules/unictype/property-not-a-character-tests (Files): Likewise.
3742         * modules/unictype/property-numeric-tests (Files): Likewise.
3743         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
3744         * modules/unictype/property-other-default-ignorable-code-point-tests
3745         (Files): Likewise.
3746         * modules/unictype/property-other-grapheme-extend-tests (Files):
3747         Likewise.
3748         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
3749         * modules/unictype/property-other-id-start-tests (Files): Likewise.
3750         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
3751         * modules/unictype/property-other-math-tests (Files): Likewise.
3752         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
3753         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
3754         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
3755         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
3756         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
3757         * modules/unictype/property-private-use-tests (Files): Likewise.
3758         * modules/unictype/property-punctuation-tests (Files): Likewise.
3759         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
3760         * modules/unictype/property-radical-tests (Files): Likewise.
3761         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
3762         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
3763         * modules/unictype/property-space-tests (Files): Likewise.
3764         * modules/unictype/property-terminal-punctuation-tests (Files):
3765         Likewise.
3766         * modules/unictype/property-test-tests (Files): Likewise.
3767         * modules/unictype/property-titlecase-tests (Files): Likewise.
3768         * modules/unictype/property-unassigned-code-value-tests (Files):
3769         Likewise.
3770         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
3771         * modules/unictype/property-uppercase-tests (Files): Likewise.
3772         * modules/unictype/property-variation-selector-tests (Files): Likewise.
3773         * modules/unictype/property-white-space-tests (Files): Likewise.
3774         * modules/unictype/property-xid-continue-tests (Files): Likewise.
3775         * modules/unictype/property-xid-start-tests (Files): Likewise.
3776         * modules/unictype/property-zero-width-tests (Files): Likewise.
3777         * modules/unictype/scripts-tests (Files): Likewise.
3778         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
3779         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
3780         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
3781         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
3782         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
3783         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
3784         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
3785         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
3786         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
3787         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
3788         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
3789         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
3790         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
3791         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
3792         * modules/uninorm/composition-tests (Files): Likewise.
3793         * modules/uninorm/decomposing-form-tests (Files): Likewise.
3794         * modules/uninorm/decomposition-tests (Files): Likewise.
3795         * modules/uninorm/filter-tests (Files): Likewise.
3796         * modules/uninorm/nfc-tests (Files): Likewise.
3797         * modules/uninorm/nfd-tests (Files): Likewise.
3798         * modules/uninorm/nfkc-tests (Files): Likewise.
3799         * modules/uninorm/nfkd-tests (Files): Likewise.
3800         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
3801         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
3802         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
3803         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
3804         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
3805         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
3806         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
3807         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
3808         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
3809         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
3810         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
3811         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
3812         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
3813         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
3814         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
3815         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
3816         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
3817         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
3818         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
3819         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
3820         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
3821         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
3822         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
3823         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
3824         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
3825         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
3826         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
3827         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
3828         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
3829         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
3830         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
3831         * modules/uniwidth/u8-width-tests (Files): Likewise.
3832         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
3833         * modules/uniwidth/u16-width-tests (Files): Likewise.
3834         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
3835         * modules/uniwidth/u32-width-tests (Files): Likewise.
3836         * modules/uniwidth/width-tests (Files): Likewise.
3837         * modules/unlink-tests (Files): Likewise.
3838         * modules/unsetenv-tests (Files): Likewise.
3839         * modules/usleep-tests (Files): Likewise.
3840         * modules/utimens-tests (Files): Likewise.
3841         * modules/utimensat-tests (Files): Likewise.
3842         * modules/vasnprintf-posix-tests (Files): Likewise.
3843         * modules/vasnprintf-tests (Files): Likewise.
3844         * modules/vasprintf-posix-tests (Files): Likewise.
3845         * modules/vasprintf-tests (Files): Likewise.
3846         * modules/vdprintf-posix-tests (Files): Likewise.
3847         * modules/vfprintf-posix-tests (Files): Likewise.
3848         * modules/vprintf-posix-tests (Files): Likewise.
3849         * modules/vsnprintf-posix-tests (Files): Likewise.
3850         * modules/vsnprintf-tests (Files): Likewise.
3851         * modules/vsprintf-posix-tests (Files): Likewise.
3852         * modules/wcrtomb-tests (Files): Likewise.
3853         * modules/wcsnrtombs-tests (Files): Likewise.
3854         * modules/wcsrtombs-tests (Files): Likewise.
3855         * modules/wctype-tests (Files): Likewise.
3856         * modules/wcwidth-tests (Files): Likewise.
3857         * modules/xmemdup0-tests (Files): Likewise.
3858         * modules/xprintf-posix-tests (Files): Likewise.
3859         * modules/xvasprintf-tests (Files): Likewise.
3860
3861 2009-12-24  Eric Blake  <ebb9@byu.net>
3862
3863         test-nanosleep: fix typo
3864         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
3865         patch.
3866         Reported by Bruno Haible.
3867
3868 2009-12-24  Bruno Haible  <bruno@clisp.org>
3869
3870         Reduce namespace pollution on glibc systems.
3871         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
3872         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
3873         systems.
3874         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
3875         <getopt.h> on glibc systems.
3876         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
3877         systems.
3878         * lib/fcntl.c: Include <unistd.h> here instead.
3879
3880 2009-12-24  Bruno Haible  <bruno@clisp.org>
3881
3882         * lib/stdlib.in.h (includes): Fix typo in today's commit.
3883
3884 2009-12-24  Eric Blake  <ebb9@byu.net>
3885
3886         tests: add signature checks
3887         * tests/signature.h (SIGNATURE_CHECK): New file.
3888         * modules/atexit-tests (Files): Use it.
3889         * modules/btowc-tests (Files): Likewise.
3890         * modules/canonicalize-lgpl-tests (Files): Likewise.
3891         * modules/ceilf-tests (Files): Likewise.
3892         * modules/ceill-tests (Files): Likewise.
3893         * modules/chown-tests (Files): Likewise.
3894         * modules/dprintf-posix-tests (Files): Likewise.
3895         * modules/dup2-tests (Files): Likewise.
3896         * modules/dup3-tests (Files): Likewise.
3897         * modules/duplocale-tests (Files): Likewise.
3898         * modules/fchdir-tests (Files): Likewise.
3899         * modules/fcntl-tests (Files): Likewise.
3900         * modules/fdopendir-tests (Files): Likewise.
3901         * modules/fflush-tests (Files): Likewise.
3902         * modules/flock-tests (Files): Likewise.
3903         * modules/floorf-tests (Files): Likewise.
3904         * modules/floorl-tests (Files): Likewise.
3905         * modules/fnmatch-tests (Files): Likewise.
3906         * modules/fopen-tests (Files): Likewise.
3907         * modules/fprintf-posix-tests (Files): Likewise.
3908         * modules/freopen-tests (Files): Likewise.
3909         * modules/frexp-nolibm-tests (Files): Likewise.
3910         * modules/frexp-tests (Files): Likewise.
3911         * modules/frexpl-nolibm-tests (Files): Likewise.
3912         * modules/frexpl-tests (Files): Likewise.
3913         * modules/fseek-tests (Files): Likewise.
3914         * modules/fseeko-tests (Files): Likewise.
3915         * modules/fsync-tests (Files): Likewise.
3916         * modules/ftell-tests (Files): Likewise.
3917         * modules/ftello-tests (Files): Likewise.
3918         * modules/futimens-tests (Files): Likewise.
3919         * modules/getaddrinfo-tests (Files): Likewise.
3920         * modules/getcwd-tests (Files): Likewise.
3921         * modules/getdelim-tests (Files): Likewise.
3922         * modules/getdtablesize-tests (Files): Likewise.
3923         * modules/getgroups-tests (Files): Likewise.
3924         * modules/gethostname-tests (Files): Likewise.
3925         * modules/getline-tests (Files): Likewise.
3926         * modules/getopt-posix-tests (Files): Likewise.
3927         * modules/gettimeofday-tests (Files): Likewise.
3928         * modules/glob-tests (Files): Likewise.
3929         * modules/iconv-tests (Files): Likewise.
3930         * modules/inet_ntop-tests (Files): Likewise.
3931         * modules/inet_pton-tests (Files): Likewise.
3932         * modules/isblank-tests (Files): Likewise.
3933         * modules/lchown-tests (Files): Likewise.
3934         * modules/ldexpl-tests (Files): Likewise.
3935         * modules/link-tests (Files): Likewise.
3936         * modules/linkat-tests (Files): Likewise.
3937         * modules/lseek-tests (Files): Likewise.
3938         * modules/lstat-tests (Files): Likewise.
3939         * modules/mbrtowc-tests (Files): Likewise.
3940         * modules/mbsinit-tests (Files): Likewise.
3941         * modules/mbsnrtowcs-tests (Files): Likewise.
3942         * modules/mbsrtowcs-tests (Files): Likewise.
3943         * modules/memchr-tests (Files): Likewise.
3944         * modules/memcmp-tests (Files): Likewise.
3945         * modules/memmem-tests (Files): Likewise.
3946         * modules/memrchr-tests (Files): Likewise.
3947         * modules/mkdir-tests (Files): Likewise.
3948         * modules/mkfifo-tests (Files): Likewise.
3949         * modules/mkfifoat-tests (Files): Likewise.
3950         * modules/mknod-tests (Files): Likewise.
3951         * modules/nanosleep-tests (Files): Likewise.
3952         * modules/nl_langinfo-tests (Files): Likewise.
3953         * modules/obstack-printf-tests (Files): Likewise.
3954         * modules/open-tests (Files): Likewise.
3955         * modules/openat-tests (Files): Likewise.
3956         * modules/perror-tests (Files): Likewise.
3957         * modules/pipe2-tests (Files): Likewise.
3958         * modules/poll-tests (Files): Likewise.
3959         * modules/popen-tests (Files): Likewise.
3960         * modules/posix_spawn-tests (Files): Likewise.
3961         * modules/posix_spawnp-tests (Files): Likewise.
3962         * modules/pread-tests (Files): Likewise.
3963         * modules/printf-posix-tests (Files): Likewise.
3964         * modules/pty-tests (Files): Likewise.
3965         * modules/random_r-tests (Files): Likewise.
3966         * modules/rawmemchr-tests (Files): Likewise.
3967         * modules/readlink-tests (Files): Likewise.
3968         * modules/remove-tests (Files): Likewise.
3969         * modules/rename-tests (Files): Likewise.
3970         * modules/renameat-tests (Files): Likewise.
3971         * modules/rmdir-tests (Files): Likewise.
3972         * modules/round-tests (Files): Likewise.
3973         * modules/roundf-tests (Files): Likewise.
3974         * modules/roundl-tests (Files): Likewise.
3975         * modules/select-tests (Files): Likewise.
3976         * modules/setenv-tests (Files): Likewise.
3977         * modules/sigaction-tests (Files): Likewise.
3978         * modules/sleep-tests (Files): Likewise.
3979         * modules/snprintf-posix-tests (Files): Likewise.
3980         * modules/snprintf-tests (Files): Likewise.
3981         * modules/sprintf-posix-tests (Files): Likewise.
3982         * modules/stat-tests (Files): Likewise.
3983         * modules/strcasestr-tests (Files): Likewise.
3984         * modules/strchrnul-tests (Files): Likewise.
3985         * modules/strerror-tests (Files): Likewise.
3986         * modules/strsignal-tests (Files): Likewise.
3987         * modules/strstr-tests (Files): Likewise.
3988         * modules/strtod-tests (Files): Likewise.
3989         * modules/strverscmp-tests (Files): Likewise.
3990         * modules/symlink-tests (Files): Likewise.
3991         * modules/symlinkat-tests (Files): Likewise.
3992         * modules/times-tests (Files): Likewise.
3993         * modules/trunc-tests (Files): Likewise.
3994         * modules/truncf-tests (Files): Likewise.
3995         * modules/truncl-tests (Files): Likewise.
3996         * modules/tsearch-tests (Files): Likewise.
3997         * modules/uname-tests (Files): Likewise.
3998         * modules/unlink-tests (Files): Likewise.
3999         * modules/unsetenv-tests (Files): Likewise.
4000         * modules/usleep-tests (Files): Likewise.
4001         * modules/utimensat-tests (Files): Likewise.
4002         * modules/vasprintf-tests (Files): Likewise.
4003         * modules/vdprintf-posix-tests (Files): Likewise.
4004         * modules/vfprintf-posix-tests (Files): Likewise.
4005         * modules/vprintf-posix-tests (Files): Likewise.
4006         * modules/vsnprintf-posix-tests (Files): Likewise.
4007         * modules/vsnprintf-tests (Files): Likewise.
4008         * modules/vsprintf-posix-tests (Files): Likewise.
4009         * modules/wcrtomb-tests (Files): Likewise.
4010         * modules/wcsnrtombs-tests (Files): Likewise.
4011         * modules/wcsrtombs-tests (Files): Likewise.
4012         * modules/wcwidth-tests (Files): Likewise.
4013         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
4014         * tests/test-isinf.c (isinf): Likewise.
4015         * tests/test-isnan.c (isnan): Likewise.
4016         * tests/test-signbit.c (signbit): Likewise.
4017         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
4018         declaration, either as macro or with correct signature.
4019         (select): Ensure function under test is declared with correct
4020         signature in correct header.
4021         * tests/test-atexit.c (atexit): Likewise.
4022         * tests/test-btowc.c (btowc): Likewise.
4023         * tests/test-canonicalize-lgpl.c (realpath)
4024         (canonicalize_file_name): Likewise.
4025         * tests/test-ceilf1.c (ceilf): Likewise.
4026         * tests/test-ceill.c (ceill): Likewise.
4027         * tests/test-chown.c (chown): Likewise.
4028         * tests/test-dprintf-posix.c (dprintf): Likewise.
4029         * tests/test-dup2.c (dup2): Likewise.
4030         * tests/test-dup3.c (dup3): Likewise.
4031         * tests/test-duplocale.c (duplocale): Likewise.
4032         * tests/test-fchdir.c (fchdir): Likewise.
4033         * tests/test-fchownat.c (fchownat): Likewise.
4034         * tests/test-fcntl.c (fcntl): Likewise.
4035         * tests/test-fdopendir.c (fdopendir): Likewise.
4036         * tests/test-fflush.c (fflush): Likewise.
4037         * tests/test-flock.c (flock): Likewise.
4038         * tests/test-floorf1.c (floorf): Likewise.
4039         * tests/test-floorl.c (floorl): Likewise.
4040         * tests/test-fnmatch.c (fnmatch): Likewise.
4041         * tests/test-fopen.c (fopen): Likewise.
4042         * tests/test-fprintf-posix.c (fprintf): Likewise.
4043         * tests/test-freopen.c (freopen): Likewise.
4044         * tests/test-frexp.c (frexp): Likewise.
4045         * tests/test-frexpl.c (frexpl): Likewise.
4046         * tests/test-fseek.c (fseek): Likewise.
4047         * tests/test-fseeko.c (fseeko): Likewise.
4048         * tests/test-fstatat.c (fstatat): Likewise.
4049         * tests/test-fsync.c (fsync): Likewise.
4050         * tests/test-ftell.c (ftell): Likewise.
4051         * tests/test-ftello.c (ftello): Likewise.
4052         * tests/test-futimens.c (futimens): Likewise.
4053         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
4054         (gai_strerror): Likewise.
4055         * tests/test-getcwd.c (getcwd): Likewise.
4056         * tests/test-getdelim.c (getdelim): Likewise.
4057         * tests/test-getdtablesize.c (getdtablesize): Likewise.
4058         * tests/test-getgroups.c (getgroups): Likewise.
4059         * tests/test-gethostname.c (gethostname): Likewise.
4060         * tests/test-getline.c (getline): Likewise.
4061         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
4062         Likewise.
4063         * tests/test-gettimeofday.c (gettimeofday): Likewise.
4064         * tests/test-glob.c (glob, globfree): Likewise.
4065         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
4066         * tests/test-inet_ntop.c (inet_ntop): Likewise.
4067         * tests/test-inet_pton.c (inet_pton): Likewise.
4068         * tests/test-isblank.c (isblank): Likewise.
4069         * tests/test-lchown.c (lchown): Likewise.
4070         * tests/test-ldexpl.c (ldexpl): Likewise.
4071         * tests/test-link.c (link): Likewise.
4072         * tests/test-linkat.c (linkat): Likewise.
4073         * tests/test-lseek.c (lseek): Likewise.
4074         * tests/test-lstat.c (lstat): Likewise.
4075         * tests/test-mbrtowc.c (mbrtowc): Likewise.
4076         * tests/test-mbsinit.c (mbsinit): Likewise.
4077         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
4078         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
4079         * tests/test-memchr.c (memchr): Likewise.
4080         * tests/test-memcmp.c (memcmp): Likewise.
4081         * tests/test-memmem.c (memmem): Likewise.
4082         * tests/test-memrchr.c (memrchr): Likewise.
4083         * tests/test-mkdir.c (mkdir): Likewise.
4084         * tests/test-mkdirat.c (mkdirat): Likewise.
4085         * tests/test-mkfifo.c (mkfifo): Likewise.
4086         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
4087         * tests/test-mknod.c (mknod): Likewise.
4088         * tests/test-nanosleep.c (nanosleep): Likewise.
4089         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
4090         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
4091         Likewise.
4092         * tests/test-open.c (open): Likewise.
4093         * tests/test-openat.c (openat): Likewise.
4094         * tests/test-perror.c (perror): Likewise.
4095         * tests/test-pipe2.c (pipe2): Likewise.
4096         * tests/test-poll.c (poll): Likewise.
4097         * tests/test-popen.c (popen, pclose): Likewise.
4098         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
4099         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
4100         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
4101         (posix_spawn_file_actions_destroy)
4102         (posix_spawn_file_actions_addclose)
4103         (posix_spawn_file_actions_addopen)
4104         (posix_spawn_file_actions_adddup2): Likewise.
4105         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
4106         * tests/test-pread.c (pread): Likewise.
4107         * tests/test-printf-posix.c (printf): Likewise.
4108         * tests/test-pty.c (openpty, forkpty): Likewise.
4109         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
4110         (random_r): Likewise.
4111         * tests/test-rawmemchr.c (rawmemchr): Likewise.
4112         * tests/test-readlink.c (readlink): Likewise.
4113         * tests/test-remove.c (remove): Likewise.
4114         * tests/test-rename.c (rename): Likewise.
4115         * tests/test-renameat.c (renameat): Likewise.
4116         * tests/test-rmdir.c (rmdir): Likewise.
4117         * tests/test-round1.c (round): Likewise.
4118         * tests/test-roundf1.c (roundf): Likewise.
4119         * tests/test-roundl.c (roundl): Likewise.
4120         * tests/test-setenv.c (setenv): Likewise.
4121         * tests/test-sigaction.c (sigaction): Likewise.
4122         * tests/test-sleep.c (sleep): Likewise.
4123         * tests/test-snprintf.c (snprintf): Likewise.
4124         * tests/test-sprintf-posix.c (sprintf): Likewise.
4125         * tests/test-stat.c (stat): Likewise.
4126         * tests/test-stpncpy.c (stpncpy): Likewise.
4127         * tests/test-strcasestr.c (strcasestr): Likewise.
4128         * tests/test-strchrnul.c (strchrnul): Likewise.
4129         * tests/test-strerror.c (strerror): Likewise.
4130         * tests/test-strsignal.c (strsignal): Likewise.
4131         * tests/test-strstr.c (strstr): Likewise.
4132         * tests/test-strtod.c (strtod): Likewise.
4133         * tests/test-strverscmp.c (strverscmp): Likewise.
4134         * tests/test-symlink.c (symlink): Likewise.
4135         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
4136         * tests/test-times.c (times): Likewise.
4137         * tests/test-trunc1.c (trunc): Likewise.
4138         * tests/test-truncf1.c (truncf): Likewise.
4139         * tests/test-truncl.c (truncl): Likewise.
4140         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
4141         Likewise.
4142         * tests/test-uname.c (uname): Likewise.
4143         * tests/test-unlink.c (unlink): Likewise.
4144         * tests/test-unlinkat.c (unlinkat): Likewise.
4145         * tests/test-unsetenv.c (unsetenv): Likewise.
4146         * tests/test-usleep.c (usleep): Likewise.
4147         * tests/test-utimensat.c (utimensat): Likewise.
4148         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
4149         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
4150         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
4151         * tests/test-vprintf-posix.c (vprintf): Likewise.
4152         * tests/test-vsnprintf.c (vsnprintf): Likewise.
4153         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
4154         * tests/test-wcrtomb.c (wcrtomb): Likewise.
4155         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
4156         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
4157         * tests/test-wcwidth.c (wcwidth): Likewise.
4158
4159         build: pull in conditional headers during GNULIB_POSIXCHECK
4160         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
4161         definitions from any conditionally-included headers.
4162         * lib/stdlib.in.h (includes): Likewise.
4163         * lib/unistd.in.h (includes): Likewise.
4164
4165 2009-12-24  Bruno Haible  <bruno@clisp.org>
4166
4167         * tests/test-argv-iter.c: Include header file being tested immediately
4168         after config.h.
4169         * tests/test-base64.c: Likewise.
4170         * tests/test-flock.c: Likewise.
4171         * tests/test-fsync.c: Likewise.
4172         * tests/test-getdate.c: Likewise.
4173         * tests/test-getndelim2.c: Likewise.
4174         * tests/test-isfinite.c: Likewise.
4175         * tests/test-isinf.c: Likewise.
4176         * tests/test-strerror.c: Likewise.
4177         * tests/test-strsignal.c: Likewise.
4178
4179 2009-12-23  Eric Blake  <ebb9@byu.net>
4180
4181         unistd: work around cygwin bug
4182         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
4183         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
4184         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
4185
4186 2009-12-23  Bruno Haible  <bruno@clisp.org>
4187
4188         localename: More tests.
4189         * tests/test-localename.c (SIZEOF): New macro.
4190         (categories): New variable.
4191         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
4192         test_locale_name_default): Add test w.r.t. thread locale.
4193         (test_locale_name_thread): New function.
4194         (main): Invoke it.
4195
4196         localename: Make aware of thread locale.
4197         * lib/localename.h (gl_locale_name_thread): New declaration.
4198         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
4199         behaviour with respect to thread locale.
4200         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
4201         <langinfo.h>, glthread/lock.h.
4202         (SIZE_BITS): New macro.
4203         (string_hash): New function.
4204         (struct hash_node): New type.
4205         (HASH_TABLE_SIZE): New macro.
4206         (struniq_hash_table, struniq_lock): New variables.
4207         (struniq): New function.
4208         (gl_locale_name_thread): New function.
4209         (gl_locale_name): Invoke it.
4210         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
4211         * modules/localename (Depends-on): Add lock.
4212         Reported by Mike Gran <spk121@yahoo.com>.
4213
4214 2009-12-23  Eric Blake  <ebb9@byu.net>
4215
4216         va-args: new module
4217         * modules/va-args: New file.
4218         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
4219         * MODULES.html.sh (Core language properties): Mention it.
4220
4221         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
4222         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
4223         named alias for __attribute__((__unused__)).
4224         * lib/chown.c: Update client.
4225         * lib/fchmodat.c: Likewise.
4226         * lib/fts.c: Likewise.
4227         * lib/getdate.y: Likewise.
4228         * lib/getgroups.c: Likewise.
4229         * lib/getopt.c: Likewise.
4230         * lib/getugroups.c: Likewise.
4231         * lib/mkdir.c: Likewise.
4232         * lib/mkfifo.c: Likewise.
4233         * lib/mkfifoat.c: Likewise.
4234         * lib/mknod.c: Likewise.
4235         * lib/mknodat.c: Likewise.
4236         * lib/readlink.c: Likewise.
4237         * lib/se-context.in.h: Likewise.
4238         * lib/se-selinux.in.h: Likewise.
4239         * lib/sockets.c: Likewise.
4240         * lib/symlink.c: Likewise.
4241         * lib/symlinkat.c: Likewise.
4242         * lib/unicodeio.c: Likewise.
4243         * lib/unistr.h: Likewise.
4244         * tests/test-areadlink.c: Likewise.
4245         * tests/test-areadlinkat.c: Likewise.
4246         * tests/test-filenamecat.c: Likewise.
4247         * tests/test-fseeko.c: Likewise.
4248         * tests/test-ftello.c: Likewise.
4249         * tests/test-getdate.c: Likewise.
4250         * tests/test-getgroups.c: Likewise.
4251         * tests/test-gethostname.c: Likewise.
4252         * tests/test-quotearg.c: Likewise.
4253         * tests/test-version-etc.c: Likewise.
4254         * tests/test-xalloc-die.c: Likewise.
4255         * tests/test-xfprintf-posix.c: Likewise.
4256         * tests/test-xprintf-posix.c: Likewise.
4257         * tests/test-xvasprintf.c: Likewise.
4258
4259         tests: avoid compiler warnings
4260         * tests/test-fcntl.c (main): Delete unused parameters.
4261         * tests/test-freopen-safer.c (main): Likewise.
4262         * tests/test-xalloc-die.c (main): Mark unused parameters.
4263         * tests/test-fseeko.c (main): Likewise.
4264         * tests/test-ftello.c (main): Likewise.
4265         * tests/test-nanosleep.c (main): Avoid declaration warning.
4266         * tests/test-sleep.c (main): Likewise.
4267         * tests/test-unsetenv.c (main): Silence warning about string
4268         literal.
4269         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
4270
4271 2009-12-23  Bruno Haible  <bruno@clisp.org>
4272
4273         * tests/test-localename.c (test_locale_name): New function, extracted
4274         from main. Also test mixed situations.
4275         (test_locale_name_posix, test_locale_name_environ,
4276         test_locale_name_default): New functions.
4277         (main): Invoke them all.
4278         * modules/localename-tests (configure.ac): Test for newlocale.
4279
4280 2009-12-23  Bruno Haible  <bruno@clisp.org>
4281
4282         unistd: Ensure getcwd gets declared before being overridden.
4283         * lib/unistd.in.h: Conditionally include <io.h>.
4284
4285 2009-12-22  Bruno Haible  <bruno@clisp.org>
4286
4287         wchar: Diagnose broken combination of glibc and gcc versions and flags.
4288         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
4289         (gl_WCHAR_H): Invoke it.
4290         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
4291         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
4292         Reported by Karl Berry <karl@freefriends.org>.
4293
4294 2009-12-22  Eric Blake  <ebb9@byu.net>
4295
4296         math, unistd: avoid redundant includes
4297         * lib/math.in.h (isnan): No need to re-include <math.h>.
4298         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
4299
4300         getsubopt: work around cygwin bug
4301         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
4302         avoid conflicting with system getsubopt.
4303         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
4304         bug.
4305
4306         getopt: synchronize from glibc
4307         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
4308         parameter order.  Adjust all callers.
4309         (_getopt_internal_r, main): Adjust quoting in error messages.
4310         Drop considerations for outdated POSIX 1003.2 error message.
4311         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
4312         callers.
4313         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
4314
4315         test-getopt: test stderr behavior
4316         * modules/getopt-posix-tests (Depends-on): Add dup2.
4317         * tests/test-getopt.c (ASSERT): Avoid stderr.
4318         (main): Move stderr to a temporary file.
4319         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
4320         Instead, add parameter to inform caller if output occurred.
4321         (test_getopt): Adjust all existing tests to expect silence, and
4322         add new tests of leading ":".
4323         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
4324         glibc shortcomings with leading "-:" or "+:" in optstring.
4325         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
4326         Likewise.
4327         * doc/posix-functions/getopt.texi (getopt): Likewise.
4328
4329         test-getopt: enhance test
4330         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
4331         supports optind=0.
4332         * tests/test-getopt.c (OPTIND_MIN): Move...
4333         * tests/test-getopt.h (OPTIND_MIN): ...here.
4334         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
4335         Require that optind=0 works, since modern BSD supports it in
4336         addition to optreset, and since coreutils expects it.
4337         (test_getopt_long_only): New test.
4338         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
4339         glibc shortcomings with 'W;', and enforcement of optind=0.
4340         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
4341         Likewise.
4342
4343 2009-12-21  Bruno Haible  <bruno@clisp.org>
4344
4345         localename: Improvements for MacOS X and Cygwin.
4346         * lib/localename.h (gl_locale_name_environ): New declaration.
4347         * lib/localename.c (gl_locale_name_environ): New function, extracted from
4348         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
4349         (gl_locale_name_posix): Invoke it.
4350         (gl_locale_name_default): Add comments. Use Windows native API also on
4351         Cygwin.
4352
4353 2009-12-21  Bruno Haible  <bruno@clisp.org>
4354
4355         Update list of Win32 locale ids.
4356         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
4357         (LANG_SAMI): Renamed from LANG_SAAMI.
4358         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
4359         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
4360         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
4361         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
4362         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
4363         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
4364         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
4365         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
4366         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
4367         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
4368         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
4369         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
4370         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
4371         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
4372         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
4373         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
4374         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
4375         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
4376         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
4377         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
4378         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
4379         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
4380         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
4381         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
4382         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
4383         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
4384         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
4385         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
4386         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
4387         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
4388         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
4389         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
4390         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
4391         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
4392         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
4393         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
4394         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
4395         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
4396         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
4397         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
4398         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
4399         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
4400         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
4401         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
4402         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
4403         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
4404         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
4405         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
4406         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
4407         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
4408         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
4409         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
4410         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
4411         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
4412         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
4413         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
4414         Add more languages and countries for Sami, Sorbian. Add more countries
4415         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
4416         for Pashto. Change country for Syriac, Tswana.
4417
4418 2009-12-21  Eric Blake  <ebb9@byu.net>
4419
4420         test-utimens: avoid spurious failure
4421         * tests/test-chown.h (nap): Factor...
4422         * tests/nap.h: ...into new file.
4423         * tests/test-lchown.h (nap): Avoid duplication.
4424         * tests/test-utimens-common.h (nap): Use shared implementation,
4425         necessary on file systems with 1-second resolution.
4426         * modules/chown-tests (Files): Include new file.
4427         * modules/fdutimensat-tests (Files): Likewise.
4428         * modules/futimens-tests (Files): Likewise.
4429         * modules/lchown-tests (Files): Likewise.
4430         * modules/openat-tests (Files): Likewise.
4431         * modules/utimens-tests (Files): Likewise.
4432         * modules/utimensat-tests (Files): Likewise.
4433
4434 2009-12-19  Eric Blake  <ebb9@byu.net>
4435
4436         futimens, utimensat: work around Linux bug
4437         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
4438         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4439         * lib/utimensat.c (rpl_utimensat): Work around it.
4440         * lib/futimens.c (rpl_futimens): Adjust comment.
4441
4442         utimens: work around Linux ctime bug
4443         * lib/utimens.c (detect_ctime_bug): New helper function.
4444         (update_timespec): Differentiate between workaround needed for
4445         this bug vs. what is needed for systems that lack utimensat.
4446         (fdutimens, lutimens): Work around bug.
4447
4448         utimens: check for ctime update
4449         * tests/test-utimens-common.h (check_ctime): Define.
4450         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
4451         * tests/test-futimens.h (test_futimens): Likewise.
4452         * tests/test-lutimens.h (test_lutimens): Likewise.
4453         * doc/posix-functions/futimens.texi (futimens): Document the bug.
4454         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4455
4456 2009-12-19  Bruno Haible  <bruno@clisp.org>
4457
4458         dprintf-posix: Check against memory leak fixed on 2009-12-15.
4459         * tests/test-dprintf-posix2.sh: New file.
4460         * tests/test-dprintf-posix2.c: New file.
4461         * modules/dprintf-posix-tests (Files): Add them.
4462         (configure.ac): Check for getrlimit and setrlimit.
4463         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4464
4465 2009-12-19  Bruno Haible  <bruno@clisp.org>
4466
4467         fprintf-posix: Check against memory leak fixed on 2009-12-15.
4468         * tests/test-fprintf-posix3.sh: New file.
4469         * tests/test-fprintf-posix3.c: New file.
4470         * modules/fprintf-posix-tests (Files): Add them.
4471         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4472
4473 2009-12-19  Eric Blake  <ebb9@byu.net>
4474
4475         dirfd: fix prototype
4476         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
4477         * lib/dirfd.c (dirfd): Likewise.
4478
4479         canonicalize: reduce memory usage
4480         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
4481         allocation to size.
4482         Reported by Solar Designer <solar@openwall.com>.
4483
4484 2009-12-19  Bruno Haible  <bruno@clisp.org>
4485
4486         New module attribute 'Applicability'.
4487         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
4488         * gnulib-tool: New option --extract-applicability.
4489         (func_usage): Document it.
4490         (sed_extract_prog): Recognize it.
4491         (func_get_applicability): New function.
4492         (func_import): Generalize handling of 'link-warning' module.
4493         * modules/link-warning (Applicability): New section.
4494         * modules/arg-nonnull (Applicability): New section.
4495         Repoted by Simon Josefsson <simon@josefsson.org>.
4496
4497 2009-12-19  Bruno Haible  <bruno@clisp.org>
4498
4499         fflush: tweak
4500         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
4501         * lib/fseeko.c (rpl_fseeko): Likewise.
4502
4503 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
4504
4505         * lib/gl_list.h: Fix typo in comment.
4506
4507 2009-12-16  Eric Blake  <ebb9@byu.net>
4508
4509         fcntl: use to simplify other modules
4510         * modules/cloexec (Depends-on): Add fcntl.
4511         * modules/fchdir (Depends-on): Likewise.
4512         * modules/fd-safer-flag (Depends-on): Likewise.
4513         * modules/unistd-safer (Depends-on): Likewise.
4514         * modules/dup3 (configure.ac): Set module indicator.
4515         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
4516         missing.
4517         * lib/fchdir.c (_gl_register_dup): Fix comment.
4518         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
4519         * lib/dup-safer.c (dup_safer): Likewise.
4520         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
4521         * lib/dup3.c (dup3): Likewise.
4522         * tests/test-fchdir.c (main): Enhance test.
4523         Fixes a dup_cloexec bug reported by Ondřej Vašík.
4524
4525         fcntl: port portions of fcntl to mingw
4526         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
4527         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
4528         replacement for mingw.
4529         * modules/fcntl (Description): Update.
4530         (Depends-on): Add dup2.
4531         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
4532         * modules/fcntl-h (Makefile.am): Substitute it.
4533         * lib/fcntl.in.h (fcntl): Update declaration.
4534         (F_DUPFD, F_GETFD): New macros, when needed.
4535         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
4536         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
4537         * tests/test-fcntl.c (check_flags, main): Enhance test for items
4538         we now guarantee.
4539
4540         fcntl: work around cygwin bug in F_DUPFD
4541         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
4542         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
4543         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
4544         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
4545         * doc/posix-functions/fcntl.texi (fcntl): Document it.
4546
4547         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
4548         * modules/fcntl (Files): List new files.
4549         (configure.ac): Run a test.
4550         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
4551         * lib/fcntl.c (rpl_fcntl): Likewise.
4552         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
4553         (gl_FCNTL_H): Always replace fcntl.h.
4554         * modules/fcntl-h (Makefile.am): Substitute witnesses.
4555         * lib/fcntl.in.h (fcntl): Declare replacement.
4556         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
4557         needed, plus a witness.
4558         * doc/posix-functions/fcntl.texi (fcntl): Document this.
4559         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
4560         * tests/test-fcntl.c: New file.
4561         * modules/fcntl-tests: Likewise.
4562
4563         binary-io: avoid potential compilation warning
4564         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
4565         directives.
4566
4567         fflush: avoid compilation error on NetBSD
4568         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
4569         between off_t and fpos_t, since the latter is sometimes a struct.
4570         * lib/fseeko.c (rpl_fseeko): Likewise.
4571         Reported by Alexander Nasonov <alnsn@yandex.ru>.
4572
4573 2009-12-15  Eric Blake  <ebb9@byu.net>
4574
4575         fcntl-h, stdio, sys_ioctl: fix declarations
4576         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
4577         function must not take arguments.
4578         * lib/sys_ioctl.in.h (ioctl): Likewise.
4579         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
4580         (open): Add a link warning.
4581
4582 2009-12-15  Jim Meyering  <meyering@redhat.com>
4583
4584         areadlink, areadlink-with-size: relax license to LGPLv2+
4585         * modules/areadlink (License): Relax to LGPLv2+.
4586         * modules/areadlink-with-size (License): Likewise.
4587
4588 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
4589             Bruno Haible  <bruno@clisp.org>
4590
4591         *printf: Fix memory leak.
4592         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
4593         * lib/vfprintf.c (vfprintf): Likewise.
4594         * lib/dprintf.c (dprintf): Likewise.
4595         * lib/vdprintf.c (vdprintf): Likewise.
4596
4597 2009-12-14  Eric Blake  <ebb9@byu.net>
4598
4599         accept4: adjust module dependencies
4600         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
4601
4602         utimens: one more try at avoiding compiler warning
4603         * lib/utimens.c (lutimens): Lower scope of result.
4604
4605 2009-12-13  Bruno Haible  <bruno@clisp.org>
4606
4607         Move the malloc checking from module 'list' to new module 'xlist'.
4608         * modules/xlist: New file.
4609         * lib/gl_xlist.h: New file.
4610         * lib/gl_xlist.c: New file.
4611         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
4612         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
4613         gl_list_add_last, gl_list_add_before, gl_list_add_after,
4614         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
4615         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
4616         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
4617         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
4618         gl_sortedlist_nx_add): New declarations.
4619         (struct gl_list_implementation): Rename and change methods accordingly.
4620         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
4621         (gl_list_nx_create): Renamed from gl_list_create.
4622         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
4623         (gl_list_nx_set_at): Renamed from gl_list_set_at.
4624         (gl_list_nx_add_first): Renamed from gl_list_add_first.
4625         (gl_list_nx_add_last): Renamed from gl_list_add_last.
4626         (gl_list_nx_add_before): Renamed from gl_list_add_before.
4627         (gl_list_nx_add_after): Renamed from gl_list_add_after.
4628         (gl_list_nx_add_at): Renamed from gl_list_add_at.
4629         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
4630         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
4631         gl_list_create_empty.
4632         (gl_list_nx_create): Renamed from gl_list_create.
4633         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
4634         (gl_list_nx_set_at): Renamed from gl_list_set_at.
4635         (gl_list_nx_add_first): Renamed from gl_list_add_first.
4636         (gl_list_nx_add_last): Renamed from gl_list_add_last.
4637         (gl_list_nx_add_before): Renamed from gl_list_add_before.
4638         (gl_list_nx_add_after): Renamed from gl_list_add_after.
4639         (gl_list_nx_add_at): Renamed from gl_list_add_at.
4640         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
4641         * lib/gl_array_list.c: Don't include xalloc.h.
4642         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
4643         NULL upon out-of-memory.
4644         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
4645         out-of-memory.
4646         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
4647         Change return type to 'int'.
4648         (gl_array_nx_set_at): Renamed from gl_array_set_at.
4649         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
4650         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
4651         upon out-of-memory.
4652         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
4653         upon out-of-memory.
4654         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
4655         upon out-of-memory.
4656         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
4657         upon out-of-memory.
4658         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
4659         out-of-memory.
4660         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
4661         Update.
4662         (gl_array_list_implementation): Update.
4663         * lib/gl_carray_list.c: Don't include xalloc.h.
4664         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
4665         Return NULL upon out-of-memory.
4666         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
4667         out-of-memory.
4668         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
4669         Change return type to 'int'.
4670         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
4671         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
4672         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
4673         upon out-of-memory.
4674         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
4675         upon out-of-memory.
4676         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
4677         out-of-memory.
4678         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
4679         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
4680         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
4681         Update.
4682         (gl_carray_list_implementation): Update.
4683         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
4684         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
4685         gl_linked_create_empty. Return NULL upon out-of-memory.
4686         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
4687         out-of-memory.
4688         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
4689         Change return type to 'int'. Return -1 upon out-of-memory.
4690         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
4691         out-of-memory.
4692         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
4693         upon out-of-memory.
4694         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
4695         upon out-of-memory.
4696         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
4697         NULL upon out-of-memory.
4698         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
4699         upon out-of-memory.
4700         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
4701         out-of-memory.
4702         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
4703         Update.
4704         * lib/gl_linked_list.c: Don't include xalloc.h.
4705         (gl_linked_list_implementation): Update.
4706         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
4707         (add_to_bucket): Change return type to 'int'.
4708         (gl_linkedhash_list_implementation): Update.
4709         * lib/gl_anytree_list1.h (free_subtree): New function.
4710         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
4711         gl_tree_create_empty. Return NULL upon out-of-memory.
4712         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
4713         Change return type to 'int'. Return -1 upon out-of-memory.
4714         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
4715         out-of-memory.
4716         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
4717         (gl_tree_remove_node): New function, moved here from
4718         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
4719         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
4720         Update.
4721         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
4722         malloc, not xmalloc. Return NULL upon out-of-memory.
4723         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
4724         out-of-memory.
4725         (gl_tree_remove_node_from_tree): New function, extracted from
4726         gl_tree_remove_node.
4727         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
4728         upon out-of-memory.
4729         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
4730         out-of-memory.
4731         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
4732         upon out-of-memory.
4733         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
4734         upon out-of-memory.
4735         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
4736         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
4737         not xmalloc. Return NULL upon out-of-memory.
4738         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
4739         out-of-memory.
4740         (gl_tree_remove_node_from_tree): New function, extracted from
4741         gl_tree_remove_node.
4742         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
4743         upon out-of-memory.
4744         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
4745         out-of-memory.
4746         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
4747         upon out-of-memory.
4748         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
4749         upon out-of-memory.
4750         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
4751         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
4752         gl_anytree_list1.h before gl_anyavltree_list2.h.
4753         (gl_avltree_list_implementation): Update.
4754         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
4755         gl_anytree_list1.h before gl_anyavltree_list2.h.
4756         (gl_rbtree_list_implementation): Update.
4757         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
4758         Change return type to 'int'. Return -1 upon out-of-memory. Use
4759         __builtin_expect.
4760         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
4761         (gl_avltreehash_list_implementation): Update.
4762         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
4763         (gl_rbtreehash_list_implementation): Update.
4764         * modules/array-list (Depends-on): Remove xalloc.
4765         * modules/carray-list (Depends-on): Likewise.
4766         * modules/linked-list (Depends-on): Likewise.
4767         * modules/linkedhash-list (Depends-on): Likewise.
4768         * modules/avltree-list (Depends-on): Likewise.
4769         * modules/rbtree-list (Depends-on): Likewise.
4770         * modules/avltreehash-list (Depends-on): Likewise.
4771         * modules/rbtreehash-list (Depends-on): Likewise.
4772
4773         * modules/xsublist: New file.
4774         * lib/gl_xsublist.h: New file.
4775         * lib/gl_xsublist.c: New file.
4776         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
4777         (gl_sublist_nx_create): New declaration.
4778         * lib/gl_sublist.c: Don't include xalloc.h.
4779         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
4780         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
4781         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
4782         Change return type to 'int'. Return -1 upon out-of-memory.
4783         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
4784         upon out-of-memory.
4785         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
4786         NULL upon out-of-memory.
4787         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
4788         upon out-of-memory.
4789         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
4790         NULL upon out-of-memory.
4791         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
4792         NULL upon out-of-memory.
4793         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
4794         upon out-of-memory.
4795         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
4796         (gl_sublist_list_implementation): Update.
4797         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
4798         upon out-of-memory.
4799         * modules/sublist (Depends-on): Remove xalloc.
4800
4801         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
4802         * tests/test-carray_list.c: Likewise.
4803         * tests/test-linked_list.c: Likewise.
4804         * tests/test-linkedhash_list.c: Likewise.
4805         * tests/test-avltree_list.c: Likewise.
4806         * tests/test-rbtree_list.c: Likewise.
4807         * tests/test-avltreehash_list.c: Likewise.
4808         * tests/test-rbtreehash_list.c: Likewise.
4809         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
4810         * modules/carray-list-tests (Makefile.am): Likewise.
4811         * modules/linked-list-tests (Makefile.am): Likewise.
4812         * modules/linkedhash-list-tests (Makefile.am): Likewise.
4813         * modules/avltree-list-tests (Makefile.am): Likewise.
4814         * modules/rbtree-list-tests (Makefile.am): Likewise.
4815         * modules/avltreehash-list-tests (Makefile.am): Likewise.
4816         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
4817
4818         * NEWS: Mention the changes.
4819
4820         * lib/clean-temp.c: Include gl_xlist.h.
4821         * modules/clean-temp (Depends-on): Add xlist.
4822
4823         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
4824         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
4825
4826         * tests/test-array_oset.c: Include gl_xlist.h.
4827         * modules/array-oset-tests (Depends-on): Add xlist.
4828
4829         Reported by José E. Marchesi <jemarch@gnu.org>.
4830
4831 2009-12-13  Bruno Haible  <bruno@clisp.org>
4832
4833         Move the malloc checking from module 'oset' to new module 'xoset'.
4834         * modules/xoset: New file.
4835         * lib/gl_xoset.h: New file.
4836         * lib/gl_xoset.c: New file.
4837         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
4838         declarations.
4839         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
4840         (struct gl_oset_implementation): Rename and change methods accordingly.
4841         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
4842         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
4843         'int'. Mark as __warn_unused_result__.
4844         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
4845         gl_oset_create_empty.
4846         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
4847         'int'.
4848         * lib/gl_array_oset.c: Don't include xalloc.h.
4849         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
4850         malloc, not xmalloc.
4851         (grow): Change return type to 'int'. Don't call xalloc_die.
4852         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
4853         to 'int'.
4854         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
4855         'int'.
4856         (gl_array_oset_implementation): Update.
4857         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
4858         gl_tree_create_empty.
4859         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
4860         'int'.
4861         * lib/gl_avltree_oset.c: Don't include xalloc.h.
4862         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
4863         xmalloc.
4864         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
4865         not xmalloc.
4866         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
4867         xmalloc.
4868         (gl_avltree_oset_implementation): Update.
4869         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
4870         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
4871         xmalloc.
4872         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
4873         not xmalloc.
4874         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
4875         xmalloc.
4876         (gl_rbtree_oset_implementation): Update.
4877         * modules/array-oset (Depends-on): Remove xalloc.
4878         * modules/avltree-oset (Depends-on): Likewise.
4879         * modules/rbtree-oset (Depends-on): Likewise.
4880         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
4881         * tests/test-avltree_oset.c: Likewise.
4882         * tests/test-rbtree_oset.c: Likewise.
4883         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
4884         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
4885         * modules/rbtree-oset-tests (Makefile.am): Likewise.
4886         * NEWS: Mention the change.
4887
4888 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
4889
4890         maint.mk: allow a project to override release-prep commands
4891         * top/maint.mk (alpha, beta, stable): Move release-preparatory
4892         commands into a new rule.
4893         (release-prep): New rule.
4894         (release-prep-hook): New overridable variable.
4895
4896 2009-12-13  Bruno Haible  <bruno@clisp.org>
4897
4898         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
4899
4900 2009-12-13  Jim Meyering  <meyering@redhat.com>
4901
4902         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
4903         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
4904
4905 2009-12-12  Bruno Haible  <bruno@clisp.org>
4906
4907         duplocale: Tweak.
4908         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
4909
4910 2009-12-12  Karl Berry  <karl@gnu.org>
4911
4912         * config/srclist.txt (strtoll.c): tab changes, no more sync.
4913
4914 2009-12-12  Bruno Haible  <bruno@clisp.org>
4915
4916         * m4/po.m4: Undo incorrect untabification.
4917
4918 2009-12-12  Bruno Haible  <bruno@clisp.org>
4919
4920         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
4921         * modules/c-strtod (Depends-on): Add locale.
4922         * modules/c-strtold (Depends-on): Likewise.
4923
4924 2009-12-12  Bruno Haible  <bruno@clisp.org>
4925
4926         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
4927
4928 2009-12-11  Eric Blake  <ebb9@byu.net>
4929
4930         setenv: relax requirement in light of POSIX ruling
4931         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
4932         not NULL.
4933         * tests/test-setenv.c (main): Relax test.
4934         * tests/test-unsetenv.c (main): Likewise.
4935         * doc/posix-functions/setenv.texi (setenv): Document this.
4936         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
4937
4938 2009-12-11  Bruno Haible  <bruno@clisp.org>
4939
4940         New module 'fd-safer-flag'.
4941         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
4942         * lib/dup-safer.c (dup_safer_flag): Remove function.
4943         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
4944         * lib/fd-safer.c (fd_safer_flag): Remove function.
4945         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
4946         * modules/cloexec (configure.ac): Drop indicator macro.
4947         * modules/fd-safer-flag: New file.
4948         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
4949         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
4950         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
4951
4952 2009-12-11  Bruno Haible  <bruno@clisp.org>
4953
4954         Tests for module 'nl_langinfo'.
4955         * modules/nl_langinfo-tests: New file.
4956         * tests/test-nl_langinfo.sh: New file.
4957         * tests/test-nl_langinfo.c: New file.
4958
4959         New module 'nl_langinfo'.
4960         * lib/nl_langinfo.c: New file.
4961         * m4/nl_langinfo.m4: New file.
4962         * modules/nl_langinfo: New file.
4963         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
4964
4965 2009-12-11  Bruno Haible  <bruno@clisp.org>
4966
4967         Tests for module 'langinfo'.
4968         * modules/langinfo-tests: New file.
4969         * tests/test-langinfo.c: New file.
4970
4971         New module 'langinfo'.
4972         * lib/langinfo.in.h: New file.
4973         * m4/langinfo_h.m4: New file.
4974         * modules/langinfo: New file.
4975         * doc/posix-headers/langinfo.texi: Mention the new module.
4976
4977 2009-12-11  Bruno Haible  <bruno@clisp.org>
4978
4979         * lib/config.charset: Untabify.
4980
4981 2009-12-11  Bruno Haible  <bruno@clisp.org>
4982
4983         * modules/unistd-safer (configure.ac): Drop indicator macro.
4984
4985 2009-12-11  Bruno Haible  <bruno@clisp.org>
4986
4987         Move pipe2-safer code to its own file.
4988         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
4989         * lib/pipe-safer.c (pipe2_safer): Remove function.
4990         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
4991         (Makefile.am): Add it to lib_SOURCES.
4992
4993 2009-12-10  Bruno Haible  <bruno@clisp.org>
4994
4995         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
4996
4997 2009-12-10  Bruno Haible  <bruno@clisp.org>
4998
4999         Declare which arguments expect non-NULL values, for GCC and clang.
5000         * build-aux/arg-nonnull.h: New file.
5001         * modules/arg-nonnull: New file.
5002         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
5003         (inet_ntop, inet_pton): Use it.
5004         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
5005         (closedir, dirfd, opendir, scandir, alphasort): Use it.
5006         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
5007         (open, openat): Use it.
5008         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
5009         (fnmatch): Use it.
5010         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
5011         (getopt, getopt_long, getopt_long_only): Use it.
5012         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
5013         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
5014         Use it.
5015         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
5016         (iconv_open): Use it.
5017         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
5018         (strtoimax, strtoumax): Use it.
5019         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
5020         (duplocale): Use it.
5021         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
5022         (frexp, frexpl): Use it.
5023         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
5024         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
5025         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
5026         (tsearch, tfind, tdelete, twalk): Use it.
5027         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
5028         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
5029         sigpending): Use it.
5030         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
5031         (posix_spawn, posix_spawnp, posix_spawnattr_init,
5032         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
5033         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
5034         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
5035         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
5036         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
5037         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
5038         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
5039         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
5040         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
5041         Use it.
5042         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
5043         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
5044         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
5045         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
5046         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
5047         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
5048         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
5049         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
5050         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
5051         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
5052         strtoull, unsetenv): Use it.
5053         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
5054         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
5055         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
5056         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5057         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5058         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
5059         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
5060         (strcasecmp, strncasecmp): Use it.
5061         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
5062         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
5063         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
5064         rpl_setsockopt): Use it.
5065         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
5066         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
5067         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
5068         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
5069         (gettimeofday): Use it.
5070         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
5071         (times): Use it.
5072         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
5073         (uname): Use it.
5074         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
5075         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
5076         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
5077         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
5078         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
5079         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
5080         unlinkat, write): Use it.
5081         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
5082         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
5083         * lib/argv-iter.h: Include arg-nonnull.h.
5084         (_ATTRIBUTE_NONNULL_): Remove macro.
5085         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
5086         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
5087         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
5088         optimization.
5089         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
5090         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
5091         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
5092         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
5093         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
5094         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
5095         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
5096         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
5097         * modules/arpa_inet (Depends-on): Add arg-nonnull.
5098         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
5099         * modules/dirent (Depends-on): Add arg-nonnull.
5100         (Makefile.am): Insert arg-nonnull.h into dirent.h.
5101         * modules/fcntl-h (Depends-on): Add arg-nonnull.
5102         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
5103         * modules/fnmatch (Depends-on): Add arg-nonnull.
5104         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
5105         * modules/getopt-posix (Depends-on): Add arg-nonnull.
5106         (Makefile.am): Insert arg-nonnull.h into getopt.h.
5107         * modules/glob (Depends-on): Add arg-nonnull.
5108         (Makefile.am): Insert arg-nonnull.h into glob.h.
5109         * modules/iconv_open (Depends-on): Add arg-nonnull.
5110         (Makefile.am): Insert arg-nonnull.h into iconv.h.
5111         * modules/inttypes (Depends-on): Add arg-nonnull.
5112         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
5113         * modules/locale (Depends-on): Add arg-nonnull.
5114         (Makefile.am): Insert arg-nonnull.h into locale.h.
5115         * modules/math (Depends-on): Add arg-nonnull.
5116         (Makefile.am): Insert arg-nonnull.h into math.h.
5117         * modules/netdb (Depends-on): Add arg-nonnull.
5118         (Makefile.am): Insert arg-nonnull.h into netdb.h.
5119         * modules/search (Depends-on): Add arg-nonnull.
5120         (Makefile.am): Insert arg-nonnull.h into search.h.
5121         * modules/signal (Depends-on): Add arg-nonnull.
5122         (Makefile.am): Insert arg-nonnull.h into signal.h.
5123         * modules/spawn (Depends-on): Add arg-nonnull.
5124         (Makefile.am): Insert arg-nonnull.h into spawn.h.
5125         * modules/stdio (Depends-on): Add arg-nonnull.
5126         (Makefile.am): Insert arg-nonnull.h into stdio.h.
5127         * modules/stdlib (Depends-on): Add arg-nonnull.
5128         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
5129         * modules/string (Depends-on): Add arg-nonnull.
5130         (Makefile.am): Insert arg-nonnull.h into string.h.
5131         * modules/strings (Depends-on): Add arg-nonnull.
5132         (Makefile.am): Insert arg-nonnull.h into strings.h.
5133         * modules/sys_socket (Depends-on): Add arg-nonnull.
5134         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
5135         * modules/sys_stat (Depends-on): Add arg-nonnull.
5136         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
5137         * modules/sys_time (Depends-on): Add arg-nonnull.
5138         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
5139         * modules/sys_times (Depends-on): Add arg-nonnull.
5140         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
5141         * modules/sys_utsname (Depends-on): Add arg-nonnull.
5142         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
5143         * modules/time (Depends-on): Add arg-nonnull.
5144         (Makefile.am): Insert arg-nonnull.h into time.h.
5145         * modules/unistd (Depends-on): Add arg-nonnull.
5146         (Makefile.am): Insert arg-nonnull.h into unistd.h.
5147         * modules/wchar (Depends-on): Add arg-nonnull.
5148         (Makefile.am): Insert arg-nonnull.h into wchar.h.
5149         * modules/argv-iter (Depends-on): Add arg-nonnull.
5150         * tests/test-canonicalize.c (null_ptr): New function.
5151         (main): Use it.
5152         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
5153         (main): Use it.
5154         * tests/test-memmem.c (null_ptr): New function.
5155         (main): Use it.
5156         Reported by Jim Meyering.
5157
5158 2009-12-10  Bruno Haible  <bruno@clisp.org>
5159
5160         Use spaces for indentation, not tabs.
5161         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
5162         * m4/*.m4: Untabify.
5163         * build-aux/*.h: Untabify.
5164         * tests/**/*.[hc]: Untabify.
5165         * README: New section "Indent with spaces, not TABs", based on
5166         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
5167         * NEWS: Mention the change.
5168
5169 2009-12-10  Bruno Haible  <bruno@clisp.org>
5170
5171         pty test: Fix link error.
5172         * modules/pty-tests (Makefile.am): Add the default LDADD value to
5173         test_pty_LDADD.
5174
5175 2009-12-07  Simon Josefsson  <simon@josefsson.org>
5176
5177         * modules/pty: New file.
5178         * modules/pty-tests: New file.
5179         * m4/pty.m4: New file.
5180         * tests/test-pty.c: New file.
5181         * doc/glibc-headers/pty.texi: Modified.
5182         * doc/glibc-functions/forkpty.texi: Modified.
5183         * doc/glibc-functions/openpty.texi: Modified.
5184
5185 2009-12-10  Bruno Haible  <bruno@clisp.org>
5186
5187         Avoid syntax error in C++ mode.
5188         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
5189
5190 2009-12-10  Bruno Haible  <bruno@clisp.org>
5191
5192         Use sed with option -e.
5193         * gnulib-tool (func_version, func_emit_copyright_notice,
5194         func_emit_initmacro_end, func_import, func_create_testdir): Pass
5195         option -e to sed.
5196         * modules/link-warning (Makefile.am): Likewise.
5197
5198 2009-12-10  Jim Meyering  <meyering@redhat.com>
5199
5200         mgetgroups: do not write bytes beyond end of malloc'd buffer
5201         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
5202         username, we call getgroups with a one-element-shorter buffer,
5203         but still told it the length was original, max_n_groups.
5204
5205 2009-12-09  Eric Blake  <ebb9@byu.net>
5206
5207         cloexec: relax license
5208         * modules/cloexec (Maintainer): Add myself.
5209         (License): Use LGPL, not GPL.
5210
5211         link-warning: optimize generation
5212         * modules/link-warning (Makefile.am): Reduce process usage.
5213
5214 2009-12-09  Bruno Haible  <bruno@clisp.org>
5215
5216         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
5217         workaround was added on 2009-11-17.
5218
5219 2009-12-09  Jim Meyering  <meyering@redhat.com>
5220             Bruno Haible  <bruno@clisp.org>
5221
5222         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
5223         * modules/link-warning (Makefile.am): Make the comment-removing sed
5224         command more robust in the face of bootstrap-prepended comment lines.
5225
5226 2009-12-09  Bruno Haible  <bruno@clisp.org>
5227
5228         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
5229         most one group.
5230
5231 2009-12-09  Simon Josefsson <simon@josefsson.org>
5232             Bruno Haible  <bruno@clisp.org>
5233
5234         * build-aux/link-warning.h: Add copyright notice.
5235         * modules/link-warning (Makefile.am): Generate link-warning.h from
5236         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
5237         * NEWS: Mention change in link-warning module.
5238         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
5239         * modules/dirent (Makefile.am): Add dependency to dirent.h.
5240         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
5241         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
5242         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
5243         * modules/math (Makefile.am): Add dependency to math.h.
5244         * modules/search (Makefile.am): Add dependency to search.h.
5245         * modules/signal (Makefile.am): Add dependency to signal.h.
5246         * modules/spawn (Makefile.am): Add dependency to spawn.h.
5247         * modules/stdio (Makefile.am): Add dependency to stdio.h.
5248         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
5249         * modules/string (Makefile.am): Add dependency to string.h.
5250         * modules/strings (Makefile.am): Add dependency to strings.h.
5251         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
5252         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
5253         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
5254         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
5255         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
5256         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
5257         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
5258         * modules/unistd (Makefile.am): Add dependency to unistd.h.
5259         * modules/wchar (Makefile.am): Add dependency to wchar.h.
5260
5261 2009-12-09  Bruno Haible  <bruno@clisp.org>
5262
5263         fchdir: Optimize away rpl_fstat when possible.
5264         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
5265         REPLACE_OPEN_DIRECTORY.
5266         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
5267
5268 2009-12-09  Bruno Haible  <bruno@clisp.org>
5269
5270         * lib/fchdir.c: Update comment.
5271
5272 2009-12-09  Bruno Haible  <bruno@clisp.org>
5273
5274         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
5275
5276 2009-12-08  Eric Blake  <ebb9@byu.net>
5277
5278         fchdir: avoid memory leak on re-registration.
5279         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
5280
5281 2009-12-08  Jim Meyering  <meyering@redhat.com>
5282
5283         init.sh: avoid Solaris 10 /bin/sh portability problem
5284         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
5285         sourced script:
5286           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
5287           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
5288           bar
5289         tests/init.sh relied on that, accepting a --set-path=DIR argument,
5290         and two tests used that idiom.
5291         * tests/init.sh: Update suggested usage comments.
5292         (path_prepend_): New function, to be used in place
5293         of the --src-path=DIR option.
5294         (setup_): Move PATH-prepending code into path_prepend_.
5295         * tests/test-pread.sh: Adapt to new usage.
5296         * tests/test-xalloc-die.sh: Likewise.
5297
5298 2009-12-08  Simon Josefsson  <simon@josefsson.org>
5299
5300         * doc/gnulib.texi (Glibc pty.h): Add.
5301         * doc/glibc-functions/forkpty.texi: Add.
5302         * doc/glibc-functions/openpty.texi: Add.
5303         Suggested by Bruno Haible.
5304
5305 2009-12-08  Eric Blake  <ebb9@byu.net>
5306
5307         fchdir: fix logic bugs
5308         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
5309         * tests/test-fchdir.c (main): Enhance test.
5310         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
5311         is in use.
5312
5313         dup2: fix logic bugs
5314         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
5315         REPLACE_DUP2 to decide when rpl_dup2 is needed.
5316         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
5317         exists.
5318         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
5319
5320 2009-12-07  Eric Blake  <ebb9@byu.net>
5321
5322         unlink: fix m4 detection
5323         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
5324
5325         unistd-safer: add unit test
5326         * modules/unistd-safer-tests: New file.
5327         * tests/test-dup-safer.c: Likewise.
5328         * tests/test-cloexec.c (setmode): Avoid compiler warning.
5329         * tests/test-dup2.c (setmode): Likewise.
5330         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
5331
5332         cloexec: preserve text vs. binary across dup_cloexec
5333         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
5334         mode.
5335         * modules/dup2-tests (Depends-on): Add binary-io.
5336         * modules/cloexec-tests (Depends-on): Likewise.
5337         * tests/test-dup2.c (setmode, is_mode): New helpers.
5338         (main): Add tests that translation mode is preserved.
5339         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
5340         Reported by Bruno Haible.
5341
5342         mgetgroups: reduce duplicate listings
5343         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
5344         resulting array.
5345         * tests/test-chown.h (test_chown): Simplify client.
5346         * tests/test-lchown.h (test_lchown): Likewise.
5347
5348 2009-12-06  Bruno Haible  <bruno@clisp.org>
5349
5350         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
5351         value.
5352
5353 2009-12-06  Bruno Haible  <bruno@clisp.org>
5354
5355         * lib/progname.c: Include stdio.h, stdlib.h.
5356         (set_program_name): Reject a NULL argument.
5357
5358 2009-12-05  Eric Blake  <ebb9@byu.net>
5359
5360         pipe2-safer: new module
5361         * modules/pipe2-safer: New file.
5362         * lib/unistd-safer.h (pipe2_safer): New prototype.
5363         * lib/unistd--.h (pipe2): New wrapper.
5364         * lib/pipe-safer.c (pipe2_safer): New function.
5365         * modules/pipe (Depends-on): Add pipe2-safer.
5366         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
5367
5368         stdlib-safer: preserve cloexec flag for mkostemp[s]
5369         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
5370         fd_safer_flag.
5371
5372         unistd-safer: allow preservation of cloexec status via flag
5373         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
5374         prototypes.
5375         * lib/dup-safer.c (dup_safer_flag): New function.
5376         * lib/fd-safer.c (fd_safer_flag): Likewise.
5377         * modules/cloexec (configure.ac): Set witness.
5378
5379         test-dup2: enhance test
5380         * modules/dup2-tests (Depends-on): Add cloexec.
5381         * tests/test-dup2.c (main): Enhance test.
5382
5383         cloexec: add dup_cloexec
5384         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
5385         header and comments.
5386         * lib/cloexec.c (set_cloexec_flag): Add comments.
5387         (dup_cloexec): New function, with mingw implementation borrowed
5388         from...
5389         * lib/w32spawn.h (dup_noinherit): ...here.
5390         * modules/execute (Depends-on): Add cloexec.
5391         * modules/pipe (Depends-on): Likewise.
5392         * modules/cloexec (Depends-on): Add dup2.
5393         * modules/cloexec-tests (Files): New file.
5394         * tests/test-cloexec.c: Likewise.
5395
5396         test-xalloc-die: fix test for mingw
5397         * modules/xalloc-die-tests (Files): Add tests/init.sh.
5398         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
5399         directory and .exe suffix off argv[0] output.
5400
5401         test-fseeko: fix test for mingw
5402         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
5403         than undefining fseek, so test will pass on mingw.
5404
5405 2009-12-05  Bruno Haible  <bruno@clisp.org>
5406
5407         * lib/progname.h (set_program_name): Clarify specification.
5408         * lib/progname.c (set_program_name): Likewise.
5409         Reported by Jim Meyering.
5410
5411 2009-12-05  Jim Meyering  <meyering@redhat.com>
5412
5413         maint.mk: backslash-escape parens in default regexp
5414         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
5415         backslash-escape the literal parentheses.
5416
5417         maint.mk: news-date-check: use grep -E
5418         * top/maint.mk (today): Define a Make variable, not a...
5419         (news-date-check): ...shell variable.
5420         (news-date-regexp): Use the Make variable.
5421         Use grep's -E option.  Change the failing diagnostic to mention
5422         the variable, $(news-date-regexp).
5423
5424 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
5425
5426         maintainer-makefile: allow customization of NEWS entry format
5427         * top/maint.mk (news-date-regexp): New overridable variable.
5428         (news-date-check): Use it.
5429
5430 2009-12-04  Eric Blake  <ebb9@byu.net>
5431
5432         mgetgroups: add xgetgroups, and avoid ENOSYS failures
5433         * lib/mgetgroups.h (xgetgroups): New prototype.
5434         * lib/mgetgroups.c (xgetgroups): New wrapper.
5435         (mgetgroups): Handle ENOSYS.
5436         * modules/mgetgroups (Depends-on): Add realloc.
5437         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
5438
5439         mgetgroups: avoid argument promotion issues with -1
5440         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
5441         for invalid gid_t.
5442         * tests/test-chown.h (getegid, test_chown): Likewise.
5443         * tests/test-lchown.h (getegid, test_lchown): Likewise.
5444
5445 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
5446
5447         exclude: Fix header file problems.
5448         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
5449
5450 2009-12-01  Jim Meyering  <meyering@redhat.com>
5451
5452         fts: fts_open: do not let an empty string cause immediate failure
5453         This is required in support of GNU rm, for which the command
5454         "rm A '' B" must process and remove both A and B, in spite of
5455         the empty string argument.
5456         * lib/fts.c (fts_open): Do not let the presence of an empty string
5457         cause fts_open to fail immediately.  Most fts-using tools must be
5458         able to process all arguments, in order, and can be expected to
5459         diagnose such arguments themselves.
5460
5461 2009-11-30  Eric Blake  <ebb9@byu.net>
5462
5463         utimens: fix compilation error
5464         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
5465         Declare variable at right scope.
5466
5467 2009-11-29  Jim Meyering  <meyering@redhat.com>
5468
5469         bootstrap: handle perl-5.11's changed --version output
5470         * build-aux/bootstrap (get_version): Handle perl separately,
5471         since perl-5.11's --version output is different.
5472
5473 2009-11-28  Jim Meyering  <meyering@redhat.com>
5474
5475         userspec: depend on the inttostr module, too
5476         * modules/userspec (Depends-on): Add inttostr.
5477
5478         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
5479         * lib/userspec.c (parse_with_separator): Do not accept a user ID
5480         number of MAXUID when it evaluates to (uid_t) -1.
5481         Likewise for group ID.  Reported by Matt McCutchen in
5482         <http://savannah.gnu.org/bugs/?28113>
5483
5484         userspec: reformat to use spaces, not TABs
5485         * lib/userspec.c: Expand TABs to spaces.
5486         Add Emacs' "indent-tabs-mode: nil" hint.
5487
5488 2009-11-27  Eric Blake  <ebb9@byu.net>
5489
5490         getopt-gnu: flush out another BSD bug
5491         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
5492         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
5493         flush out BSD bug.
5494         * tests/test-getopt.h (test_getopt): End lists with NULL.
5495         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5496         (test_getopt_long_posix): Enhance test.
5497         * modules/getopt-posix-tests (Depends-on): Add stdbool.
5498         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
5499         getopt-gnu.
5500         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5501         Likewise.
5502
5503 2009-11-27  Simon Josefsson  <simon@josefsson.org>
5504
5505         * modules/idpriv-droptemp-tests (Notice): Fix text.
5506
5507 2009-11-27  Jim Meyering  <meyering@redhat.com>
5508
5509         test-xalloc-die: avoid spurious failure due to libtool argv difference
5510         In a libtool-enabled project, this test would fail due to a difference
5511         in the emitted program name, e.g.,
5512         -test-xalloc-die: memory exhausted
5513         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
5514         Use program to avoid that.
5515         * modules/xalloc-die-tests (Depends-on): Add progname.
5516         * tests/test-xalloc-die.c: Include progname.h".
5517         (program_name): Remove decl.
5518         (main): Call set_program_name.
5519         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
5520
5521 2009-11-26  Richard Jones  <rjones@redhat.com>
5522
5523         w32sock: leave win32 error in place.
5524         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
5525
5526 2009-11-26  Eric Blake  <ebb9@byu.net>
5527
5528         init.sh: suggest to use skip_ and fail_ functions in comments
5529         * tests/init.sh: Add a sentence.
5530
5531 2009-11-25  Bruno Haible  <bruno@clisp.org>
5532
5533         init.sh: add documentation in comments
5534         * tests/init.sh: Add some developer and user documentation.
5535
5536 2009-11-26  Jim Meyering  <meyering@redhat.com>
5537
5538         init.sh: accommodate even those who specify bogus srcdir manually
5539         * tests/init.sh: Normally, srcdir is guaranteed by automake and
5540         configure-time tests to be sanitized, so that there is no need to
5541         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
5542         (with no double quotes) suffices.  However, since tests may be
5543         invoked manually, and since you may explicitly set srcdir to the
5544         name of a directory containing spaces, do quote its uses here.
5545         * tests/test-pread.sh: Likewise.
5546         Suggested by Bruno Haible.
5547
5548         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
5549         * tests/test-pread.sh: Write no data into the pipe, because
5550         test-pread actually reads none.  This avoids a diagnostic,
5551         "bash: echo: write error: Broken pipe", that arises in the unusual
5552         event something is ignoring SIGPIPE, and might be interpreted
5553         as some sort of failure.  Reported by Bruno Haible.
5554
5555 2009-11-25  Jim Meyering  <meyering@redhat.com>
5556
5557         test-pread: cover failure with ESPIPE and EINVAL
5558         * tests/test-pread.c (main): Test for failure, too.
5559         * tests/test-pread.sh: Invoke with stdin on a pipe.
5560         Suggested by Eric Blake.
5561
5562         pread: improvement and fix
5563         * modules/pread (Depends-on): Depend on lseek, for portability to
5564         e.g., mingw.  Suggested by Eric Blake.
5565         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
5566
5567         unistd.in.h: correct declaration of pread
5568         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
5569         Reported by Richard W.M. Jones.
5570
5571         test-pread.sh: distribute the test script
5572         * modules/pread-tests (Files): Include test-pread.sh.
5573
5574         test-pread.sh: clean up
5575         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
5576         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
5577         That is unnecessary, since it's always ".".
5578         Suggestion from Eric Blake.
5579
5580         test-pread.sh: make executable
5581         * tests/test-pread.sh: Set executable bit.
5582         Reported by Eric Blake.
5583
5584         correct typo in test-pread.sh
5585         * tests/test-pread.sh: Add #! line.
5586
5587         test pread
5588         * tests/test-pread.c: New file.
5589         * tests/test-pread.sh: Likewise.
5590         * modules/pread-tests: Likewise.
5591
5592         pread: new module
5593         * modules/pread: New file.
5594         * lib/unistd.in.h (pread): Define/declare.
5595         * lib/pread.c (pread): New file.
5596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
5597         * modules/unistd (Makefile.am): Substitute witnesses.
5598         * doc/posix-functions/pread.texi (pread): Update.
5599         * MODULES.html.sh: Add pread.
5600
5601 2009-11-25  Jim Meyering  <meyering@redhat.com>
5602
5603         tests/init.sh: new file to be used via most *.sh tests
5604         * tests/init.sh: New file.
5605
5606 2009-11-25  Eric Blake  <ebb9@byu.net>
5607
5608         utimens: work around older Linux failure with symlinks
5609         * lib/utimens.c (lutimensat_works_really): New variable.
5610         (fdutimens, lutimens): Use it to manage kernels that support
5611         nanosecond times on files, but not on symlinks.
5612         Reported by Ondřej Vašík.
5613
5614         utimes: fix configure grammar
5615         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
5616
5617 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
5618
5619         regex: Fix fastmap for multibyte character ranges.
5620         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
5621         characters when a multibyte character range is included.
5622
5623 2009-11-22  Andy Wingo  <wingo@pobox.com>
5624
5625         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
5626         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
5627
5628 2009-11-24  Bruno Haible  <bruno@clisp.org>
5629
5630         doc: Most *_l functions exist in MacOS X 10.5.
5631         * doc/posix-functions/duplocale.texi: Update platforms list.
5632         * doc/posix-functions/freelocale.texi: Likewise.
5633         * doc/posix-functions/newlocale.texi: Likewise.
5634         * doc/posix-functions/uselocale.texi: Likewise.
5635         * doc/posix-functions/isalnum_l.texi: Likewise.
5636         * doc/posix-functions/isalpha_l.texi: Likewise.
5637         * doc/posix-functions/isblank_l.texi: Likewise.
5638         * doc/posix-functions/iscntrl_l.texi: Likewise.
5639         * doc/posix-functions/isdigit_l.texi: Likewise.
5640         * doc/posix-functions/isgraph_l.texi: Likewise.
5641         * doc/posix-functions/islower_l.texi: Likewise.
5642         * doc/posix-functions/isprint_l.texi: Likewise.
5643         * doc/posix-functions/ispunct_l.texi: Likewise.
5644         * doc/posix-functions/isspace_l.texi: Likewise.
5645         * doc/posix-functions/isupper_l.texi: Likewise.
5646         * doc/posix-functions/iswalnum_l.texi: Likewise.
5647         * doc/posix-functions/iswalpha_l.texi: Likewise.
5648         * doc/posix-functions/iswblank_l.texi: Likewise.
5649         * doc/posix-functions/iswcntrl_l.texi: Likewise.
5650         * doc/posix-functions/iswctype_l.texi: Likewise.
5651         * doc/posix-functions/iswdigit_l.texi: Likewise.
5652         * doc/posix-functions/iswgraph_l.texi: Likewise.
5653         * doc/posix-functions/iswlower_l.texi: Likewise.
5654         * doc/posix-functions/iswprint_l.texi: Likewise.
5655         * doc/posix-functions/iswpunct_l.texi: Likewise.
5656         * doc/posix-functions/iswspace_l.texi: Likewise.
5657         * doc/posix-functions/iswupper_l.texi: Likewise.
5658         * doc/posix-functions/iswxdigit_l.texi: Likewise.
5659         * doc/posix-functions/isxdigit_l.texi: Likewise.
5660         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
5661         * doc/posix-functions/strcasecmp_l.texi: Likewise.
5662         * doc/posix-functions/strcoll_l.texi: Likewise.
5663         * doc/posix-functions/strfmon_l.texi: Likewise.
5664         * doc/posix-functions/strftime_l.texi: Likewise.
5665         * doc/posix-functions/strncasecmp_l.texi: Likewise.
5666         * doc/posix-functions/strxfrm_l.texi: Likewise.
5667         * doc/posix-functions/tolower_l.texi: Likewise.
5668         * doc/posix-functions/toupper_l.texi: Likewise.
5669         * doc/posix-functions/towctrans_l.texi: Likewise.
5670         * doc/posix-functions/towlower_l.texi: Likewise.
5671         * doc/posix-functions/towupper_l.texi: Likewise.
5672         * doc/posix-functions/wcscoll_l.texi: Likewise.
5673         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
5674         * doc/posix-functions/wctrans_l.texi: Likewise.
5675         * doc/posix-functions/wctype_l.texi: Likewise.
5676         * doc/glibc-functions/strptime_l.texi: Likewise.
5677         * doc/glibc-functions/strtod_l.texi: Likewise.
5678         * doc/glibc-functions/strtof_l.texi: Likewise.
5679         * doc/glibc-functions/strtol_l.texi: Likewise.
5680         * doc/glibc-functions/strtold_l.texi: Likewise.
5681         * doc/glibc-functions/strtoll_l.texi: Likewise.
5682         * doc/glibc-functions/strtoul_l.texi: Likewise.
5683         * doc/glibc-functions/strtoull_l.texi: Likewise.
5684         * doc/glibc-functions/wcsftime_l.texi: Likewise.
5685         * doc/glibc-functions/wcstod_l.texi: Likewise.
5686         * doc/glibc-functions/wcstof_l.texi: Likewise.
5687         * doc/glibc-functions/wcstol_l.texi: Likewise.
5688         * doc/glibc-functions/wcstold_l.texi: Likewise.
5689         * doc/glibc-functions/wcstoll_l.texi: Likewise.
5690         * doc/glibc-functions/wcstoul_l.texi: Likewise.
5691         * doc/glibc-functions/wcstoull_l.texi: Likewise.
5692
5693 2009-11-24  Bruno Haible  <bruno@clisp.org>
5694
5695         duplocale: Fix logic bug.
5696         * lib/duplocale.c: Don't include <langinfo.h>.
5697         (_NL_LOCALE_NAME): Remove macro.
5698         (rpl_duplocale): Use setlocale instead of nl_langinfo.
5699         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
5700
5701 2009-11-23  Jim Meyering  <meyering@redhat.com>
5702
5703         test-update-copyright: don't hard-code /usr/bin/perl
5704         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
5705         perl to print the current year.  Gilles Espinasse reported that
5706         the replaced use of perl was hard-coded as /usr/bin/perl.
5707
5708 2009-11-23  Bruno Haible  <bruno@clisp.org>
5709
5710         duplocale: Add support for glibc 2.3.x.
5711         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
5712
5713 2009-11-22  Bruno Haible  <bruno@clisp.org>
5714
5715         vasnprintf: Tiny optimization.
5716         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
5717         MacOS X.
5718
5719 2009-11-22  Bruno Haible  <bruno@clisp.org>
5720
5721         Tests for module 'duplocale'.
5722         * modules/duplocale-tests: New file.
5723         * tests/test-duplocale.c: New file.
5724
5725         New module 'duplocale'.
5726         * m4/duplocale.m4: New file.
5727         * lib/locale.in.h (duplocale): New declaration.
5728         * lib/duplocale.c: New file.
5729         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
5730         gl_LOCALE_H_DEFAULTS): New macros.
5731         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
5732         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
5733         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
5734         REPLACE_DUPLOCALE.
5735         * modules/duplocale: New file.
5736         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
5737
5738 2009-11-22  Bruno Haible  <bruno@clisp.org>
5739
5740         * modules/locale-tests (configure.ac): Test for newlocale function.
5741         * tests/test-locale.c: When the system has extended locale functions,
5742         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
5743
5744         locale: Make locale_t available when possible.
5745         * lib/locale.in.h: Include <xlocale.h> when it exists.
5746         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
5747         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
5748         * modules/locale (Depends-on): Add extensions.
5749         (Makefile.am): Also substitute HAVE_XLOCALE_H.
5750         * doc/posix-headers/locale.texi: Document the problem with locale_t.
5751
5752 2009-11-22  Bruno Haible  <bruno@clisp.org>
5753
5754         Add comments.
5755         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
5756         invocation.
5757         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
5758         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5759         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
5760
5761 2009-11-22  Bruno Haible  <bruno@clisp.org>
5762
5763         error: account for the possibility of freopen (stdout).
5764         * lib/error.c: Include <unistd.h>.
5765         (flush_stdout): New function, extracted from error and error_at_line.
5766         Determine stdout's fd dynamically.
5767         (error, error_at_line): Invoke flush_stdout.
5768         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
5769         * modules/error (Depends-on): Add unistd.
5770
5771 2009-11-22  Bruno Haible  <bruno@clisp.org>
5772
5773         diffseq: Add comment.
5774         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
5775
5776 2009-11-22  Jim Meyering  <meyering@redhat.com>
5777
5778         c-stack: avoid defining an unused static function
5779         * lib/c-stack.c (find_stack_direction): Do not define this function
5780         when it will not be used.
5781
5782         diffseq: avoid spurious gcc warnings
5783         * lib/diffseq.h (IF_LINT2): Define.
5784         (compareseq): Use it to initialize two members of "part".
5785         This avoids two used-uninitialized warnings.
5786
5787 2009-11-21  Jim Meyering  <meyering@redhat.com>
5788
5789         c-stack: avoid "ignoring return value of `write'" warning
5790         * lib/c-stack.c: Include "ignore-value.h".
5791         (die): Explicitly ignore each write return value.
5792         * modules/c-stack (Depends-on): Add ignore-value.
5793
5794 2009-11-21  Bruno Haible  <bruno@clisp.org>
5795
5796         diffseq: reduce scope of variable 'best'.
5797         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
5798         variable, earlier used for two different purposes.
5799
5800 2009-11-21  Jim Meyering  <meyering@redhat.com>
5801
5802         diffseq: remove useless assignment to "best"
5803         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
5804         assignment.  At that point "best" is already guaranteed to be zero.
5805
5806 2009-11-20  Eric Blake  <ebb9@byu.net>
5807
5808         build: mention ftp redirector in release announcements
5809         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
5810         values that used to come from cfg.mk; mention FTP redirect URL.
5811         * build-aux/announce-gen: Mention the mirror list.
5812         Suggested by Karl Berry.
5813
5814         nanosleep: improve port to mingw
5815         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
5816         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
5817         LIB_NANOSLEEP, but only when needed.
5818         * modules/select (Link): Document LIBSOCKET.
5819         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
5820         enough.
5821
5822         nanosleep: work around cygwin bug
5823         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
5824         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
5825         bug.
5826         (getnow): Delete, not needed.
5827         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
5828         LIB_CLOCK_GETTIME.
5829         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
5830         clock-time, gettime.
5831         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
5832         bug.
5833         * modules/nanosleep-tests: New test.
5834         * tests/test-nanosleep.c: New file.
5835
5836         sleep: work around cygwin bug
5837         * lib/sleep.c (rpl_sleep): Work around the bug.
5838         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
5839         (gl_PREREQ_SLEEP): Delete unused macro.
5840         * modules/sleep (Depends-on): Add verify.
5841         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
5842         * modules/unistd (Makefile.am): Substitute witness.
5843         * lib/unistd.in.h (sleep): Update prototype.
5844         * doc/posix-functions/sleep.texi (sleep): Document the bug.
5845         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
5846         * modules/sleep-tests (Depends-on): Check for alarm.
5847
5848 2009-11-20  Jim Meyering  <meyering@redhat.com>
5849
5850         maint.mk: improve sc_prohibit_magic_number_exit
5851         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
5852         so it does not match uses like System.exit(1).
5853         Add comments showing how to correct all offenders.
5854
5855 2009-11-19  Eric Blake  <ebb9@byu.net>
5856
5857         xalloc-die-tests: add missing library
5858         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
5859
5860         test-xvasprintf: silence compiler warnings
5861         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
5862         empty string from gcc.
5863
5864 2009-11-19  Jim Meyering  <meyering@redhat.com>
5865
5866         xfreopen: new module, from coreutils
5867         * modules/xfreopen: New module.
5868         * lib/xfreopen.c: New file.
5869         * lib/xfreopen.h: New file.
5870         * MODULES.html.sh (File stream based Input/Output"): Add it.
5871
5872 2009-11-19  Eric Blake  <ebb9@byu.net>
5873
5874         manywarnings: depend on warnings
5875         * modules/manywarnings (Depends-on): Add warnings.
5876
5877         build: avoid compiler warnings
5878         * lib/select.c (rpl_select): Delete unused variable.
5879         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
5880
5881 2009-11-18  Eric Blake  <ebb9@byu.net>
5882
5883         tests: avoid false negative with --with-packager
5884         * tests/test-version-etc.sh: Discard packager information.
5885         * tests/test-argp-version-etc-1.sh: Likewise.
5886         Reported by Mike Frysinger.
5887
5888         utimens: fix regression on Solaris
5889         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
5890         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
5891         can only change fd timestamps via futimesat.  Instead, use an
5892         additional witness macro to avoid BSD bug.
5893         Reported by Jim Meyering.
5894
5895 2009-11-17  Eric Blake  <ebb9@byu.net>
5896
5897         usleep: use it to simplify tests
5898         * modules/stat-time-tests (Depends-on): Add usleep.
5899         (configure.ac): Drop usleep check.
5900         * modules/chown-tests (Depends-on, configure.ac): Likewise.
5901         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
5902         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
5903         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
5904         * modules/openat-tests (Depends-on, configure.ac): Likewise.
5905         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
5906         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
5907         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
5908         Likewise.
5909         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
5910         * tests/test-lchown.h (nap): Likewise.
5911         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
5912         * tests/test-stat-time.c (nap): Likewise.
5913         * tests/test-utimens-common.h (nap): Update comments.
5914
5915         usleep: new module
5916         * modules/usleep: New file.
5917         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5918         * lib/usleep.c (usleep): Likewise.
5919         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
5920         * modules/unistd (Makefile.am): Substitute witnesses.
5921         * lib/unistd.in.h (usleep): Add declaration.
5922         * doc/pastposix-functions/usleep.texi (usleep): Document this.
5923         * MODULES.html.sh (Date and time): Likewise.
5924         * modules/usleep-tests (Depends-on): New test.
5925         * tests/test-usleep.c: New file.
5926
5927         chown: work around OpenBSD bug
5928         * lib/chown.c (rpl_chown): Work around the bug.
5929         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
5930         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
5931         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
5932         * modules/chown (Depends-on): Add stdbool.
5933         * modules/lchown (Depends-on): Likewise.
5934         * doc/posix-functions/chown.texi (chown): Document the bug.
5935         * doc/posix-functions/lchown.texi (lchown): Likewise.
5936         * tests/test-lchown.h (test_chown): Relax test.
5937
5938         mkstemp: avoid conflict with C++ keyword template
5939         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
5940         * lib/mkostemp.c (mkostemp): Likewise.
5941         * lib/mkostemps.c (mkostemps): Likewise.
5942         * lib/mkstemp.c (mkstemp): Likewise.
5943         * lib/mkstemps.c (mkstemps): Likewise.
5944
5945         xalloc-die-tests: optimize
5946         * tests/test-xalloc-die.sh: Reduce number of processes.
5947
5948 2009-11-17  Simon Josefsson  <simon@josefsson.org>
5949
5950         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
5951         patch from ludo@gnu.org (Ludovic Courtès).
5952
5953 2009-11-17  Jim Meyering  <meyering@redhat.com>
5954
5955         version-etc: use proper license string
5956         * modules/version-etc (License): Use LGPL, not LGPLv3+.
5957         * modules/version-etc-fsf: Likewise.
5958
5959 2009-11-17  Simon Josefsson  <simon@josefsson.org>
5960
5961         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
5962         printed to stdout.  Deal with EOL differences.
5963
5964 2009-11-17  Eric Blake  <ebb9@byu.net>
5965
5966         unsetenv: work around Solaris bug
5967         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
5968         * lib/unsetenv.c (rpl_unsetenv): Work around it.
5969         Reported by Jim Meyering.
5970
5971         vasnprintf: avoid compiler warnings
5972         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
5973         variables.
5974         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
5975
5976 2009-11-17  Simon Josefsson  <simon@josefsson.org>
5977
5978         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
5979         settings since xalloc-die is no longer the self test,
5980         xalloc-die.sh is.
5981
5982 2009-11-17  Jim Meyering  <meyering@redhat.com>
5983
5984         test-xalloc-die.sh: make the code agree with the commit log
5985         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
5986         at the end, just in case you happen to have a test-xalloc-die
5987         program in some other PATH directory.
5988
5989         test-xalloc-die.sh: fix a portability bug
5990         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
5991         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
5992         Otherwise, argv[0] (as often seen in diagnostics) would be too
5993         system-dependent, sometimes with, and sometimes without the leading "./".
5994
5995         version-etc-fsf: relax license to LGPLv3+
5996         * modules/version-etc-fsf (License): Relax license.
5997
5998 2009-11-16  Eric Blake  <ebb9@byu.net>
5999
6000         xalloc-die-tests: avoid printing null pointer
6001         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
6002         shell script.
6003         * tests/test-xalloc-die.c (program_name): Declare.
6004         * tests/test-xalloc-die.sh (tmpfiles): New file.
6005
6006         setenv, unsetenv: work around various bugs
6007         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
6008         (setenv) [HAVE_SETENV]: Work around bugs.
6009         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
6010         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
6011         for bugs.
6012         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
6013         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
6014         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
6015         * modules/stdlib (Makefile.am): Update substitutions.
6016         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
6017         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
6018         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
6019         * modules/setenv-tests: New test.
6020         * modules/unsetenv-tests: Likewise.
6021         * tests/test-setenv.c: New file.
6022         * tests/test-unsetenv.c: Likewise.
6023
6024 2009-11-16  Jim Meyering  <meyering@redhat.com>
6025
6026         version-etc: relax license to LGPLv3+
6027         * modules/version-etc (License): Relax license.
6028
6029         better AC_REQUIRE expanded-before-required-warning avoidance
6030         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
6031         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
6032         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
6033         which is no longer needed.
6034
6035 2009-11-16  Eric Blake  <ebb9@byu.net>
6036
6037         test-freading: clean up temporary file
6038         * tests/test-freading.c (main): Remove file on success, and use
6039         ASSERT more liberally.
6040         Reported by Jim Meyering.
6041
6042 2009-11-16  Jim Meyering  <meyering@redhat.com>
6043
6044         avoid new AC_REQUIRE expanded-before-required warnings
6045         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
6046         merely using it.
6047         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
6048         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
6049
6050 2009-11-15  Simon Josefsson  <simon@josefsson.org>
6051
6052         * tests/test-xalloc-die.c: New file.
6053         * modules/xalloc-die-tests: New file.
6054         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
6055         XFAIL_TESTS so it can be appended by modules.
6056
6057 2009-11-15  Simon Josefsson  <simon@josefsson.org>
6058
6059         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
6060         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
6061
6062 2009-11-14  Eric Blake  <ebb9@byu.net>
6063
6064         fnmatch: avoid compiler warning
6065         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
6066         to silence compiler warning about mismatch signedness in ?:.
6067         Reported by Robert Millan.
6068
6069         intprops: add double-inclusion guard
6070         * lib/intprops.h: Allow idempotent includes.
6071         Suggested by Bruce Korb.
6072
6073         openat: detect Solaris fchownat bug
6074         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
6075         penalizing glibc chownat when only lchownat is broken.
6076         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
6077         trailing slash bugs.
6078         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
6079         * modules/openat-tests (Files): Include more files.
6080         (Depends-on): Add mgetgroups, sleep, stat-time.
6081         (configure.ac): Add additional checks.
6082         (Makefile.am): Build new test.
6083         * tests/test-fchownat.c: New file.
6084
6085         lchown: detect Solaris and FreeBSD bug
6086         * lib/lchown.c (rpl_lchown): Work around bug.
6087         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
6088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6089         * modules/unistd (Makefile.am): Populate it.
6090         * lib/unistd.in.h (lchown): Update declaration.
6091         * doc/posix-functions/lchown.texi (lchown): Document the bug.
6092         * modules/lchown-tests: New file.
6093         * tests/test-lchown.h (test_lchown): Likewise.
6094         * tests/test-lchown.c (main): Likewise.
6095
6096         chown: detect Solaris and FreeBSD bug
6097         * lib/chown.c (rpl_chown): Work around bug.
6098         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
6099         (gl_PREREQ_CHOWN): Delete.
6100         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6101         * modules/unistd (Makefile.am): Populate it.
6102         * lib/unistd.in.h (chown): Update declaration.
6103         * lib/lchown.c (chown): Update client.
6104         * modules/lchown (Depends-on): Add lstat.
6105         * doc/posix-functions/chown.texi (chown): Document the bug.
6106         * doc/posix-functions/getgroups.texi (getgroups): Document
6107         getgroups pitfall.
6108         * modules/chown-tests: New file.
6109         * tests/test-chown.h (test_chown): Likewise.
6110         * tests/test-chown.c (main): Likewise.
6111
6112 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
6113
6114         gnulib-tool: correctly detect absence of m4 directories
6115         * gnulib-tool: Avoid extra newline on data passed to wc -l.
6116
6117 2009-11-14  Jim Meyering  <meyering@redhat.com>
6118
6119         maint.mk: Prohibit inclusion of "xalloc.h" without use.
6120         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
6121
6122 2009-11-14  John W. Eaton  <jwe@gnu.org>
6123
6124         strftime.h: wrap funtion declaration in extern "C" block
6125         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
6126
6127 2009-11-13  Eric Blake  <ebb9@byu.net>
6128
6129         getgroups: avoid compiler warning
6130         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
6131
6132         getgroups: work around FreeBSD bug
6133         * lib/getgroups.c (rpl_getgroups): Work around the bug.
6134         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
6135         * doc/posix-functions/getgroups.texi (getgroups): Document it.
6136         * tests/test-getgroups.c (main): Fix buffer overrun.
6137
6138         getgroups: avoid compilation failure
6139         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
6140         * modules/getgroups (Depends-on): Add stdint.
6141
6142 2009-11-13  Jim Meyering  <meyering@redhat.com>
6143
6144         test-getgroups: avoid compilation failure
6145         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
6146
6147 2009-11-13  Eric Blake  <ebb9@byu.net>
6148
6149         mgetgroups: new module, taken from coreutils
6150         * modules/mgetgroups: New file.
6151         * lib/mgetgroups.h: Likewise.
6152         * lib/mgetgroups.c (mgetgroups): Likewise.
6153         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
6154         * MODULES.html.sh (Users and groups): Mention it.
6155
6156         getgroups: don't expose GETGROUPS_T to user
6157         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
6158         an element at a time if GETGROUPS_T is wrong size.
6159         * lib/getugroups.h (getugroups): Change signature.
6160         * lib/unistd.in.h (getgroups): Likewise.
6161         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
6162         signature needs fixing.
6163         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
6164         AC_TYPE_GETGROUPS.
6165         * modules/group-member (Depends-on): Add getgroups.
6166         * lib/group-member.c (group_info, get_group_info): Use gid_t.
6167         (group_member): Rely on getgroups replacement.
6168         * lib/getugroups.c (getugroups): Use gid_t.
6169         * tests/test-getgroups.c (main): Likewise.
6170         * NEWS: Mention the signature change.
6171         * doc/posix-functions/getgroups.texi (getgroups): Mention the
6172         problem with signature.
6173         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
6174         GETGROUPS_T is still useful for setgroups.
6175
6176         getgroups, getugroups: provide stubs for mingw
6177         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
6178         * lib/getugroups.c (getugroups): Likewise.
6179         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
6180         function.  Modernize replacement scheme.
6181         (gl_PREREQ_GETGROUPS): Delete.
6182         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
6183         * modules/getgroups (configure.ac): Declare witness.
6184         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
6185         * modules/unistd (Depends-on): Substitute witness.
6186         * lib/unistd.in.h (getgroups): Declare replacement.
6187
6188         getgroups: avoid calling exit
6189         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
6190         drop xalloc.
6191         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
6192         dependencies.
6193         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
6194         exiting, in the rare case of malloc failure.
6195
6196         getgroups: fix logic error
6197         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
6198         has more than 20 groups.
6199         * modules/getgroups-tests: New test.
6200         * tests/test-getgroups.c: New file.
6201
6202 2009-11-13  Simon Josefsson  <simon@josefsson.org>
6203
6204         * tests/test-base64.c: Improve.
6205
6206 2009-11-13  Simon Josefsson  <simon@josefsson.org>
6207
6208         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
6209         Blake <ebb9@byu.net>.
6210
6211 2009-11-13  Simon Josefsson  <simon@josefsson.org>
6212
6213         * tests/test-xvasprintf.c: Add %s%s related checks.
6214
6215 2009-11-12  Eric Blake  <ebb9@byu.net>
6216
6217         version-etc: match standards.texi style
6218         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
6219         and use <> only for URLs.
6220
6221 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
6222
6223         fts: do not fail on a submount during traversal
6224         * lib/fts.c (fts_build): Read the stat info again after opening
6225         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
6226         Original report at http://bugzilla.redhat.com/501848.
6227
6228 2009-11-12  Jim Meyering  <meyering@redhat.com>
6229
6230         bootstrap: sync from coreutils
6231         * build-aux/bootstrap (bootstrap_epilogue): New function.
6232         Use git_modules_config in one more place.  This make bootstrap's
6233         --gnulib-srcdir option more useful for testing.
6234
6235         bootstrap: generalize autoheader check
6236         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
6237         AC_CONFIG_HEADERS.
6238
6239 2009-11-11  Eric Blake  <ebb9@byu.net>
6240
6241         mkfifoat: use new modules for Solaris and BSD bugs
6242         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
6243         * lib/mkfifoat.c (mknodat): Split...
6244         * lib/mknodat.c (mknodat): ...into new file.
6245         * modules/mkfifoat (Files): Ship new file.
6246         (Depends-on): Add mkfifo, mknod.
6247         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
6248         (Depends-on): Add symlink.
6249         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
6250         redundant with test_mkfifo.h.
6251         (do_mkfifoat, do_mknodat): New helpers.
6252
6253         mknod: new module
6254         * modules/mknod: New file.
6255         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
6256         * lib/mknod.c (mknod): Likewise.
6257         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
6258         defaults.
6259         * modules/sys_stat (Makefile.am): Substitute them.
6260         * lib/sys_stat.in.h (mknod): Declare replacement.
6261         * MODULES.html.sh (Support for systems lacking POSIX:2008):
6262         Document it.
6263         * doc/posix-functions/mknod.texi (mknod): Likewise.
6264         * modules/mknod-tests: New test.
6265         * tests/test-mknod.c: Likewise.
6266
6267         mkfifo: new module
6268         * modules/mkfifo: New file.
6269         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
6270         * lib/mkfifo.c (mkfifo): Likewise.
6271         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
6272         defaults.
6273         * modules/sys_stat (Makefile.am): Substitute them.
6274         * lib/sys_stat.in.h (mkfifo): Declare replacement.
6275         * MODULES.html.sh (Support for systems lacking POSIX:2008):
6276         Document it.
6277         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
6278         * modules/mkfifo-tests: New test.
6279         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
6280         from test-mkfifoat.c.
6281         * tests/test-mkfifo.c: New file.
6282
6283         readlink: detect FreeBSD bug
6284         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
6285         slash on symlink.
6286         * doc/posix-functions/readlink.texi (readlink): Document the bug.
6287         * tests/test-readlink.h (test_readlink): Enhance test.
6288
6289         symlink: detect FreeBSD bug
6290         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
6291         slash on symlink.
6292         * doc/posix-functions/symlink.texi (symlink): Document the bug.
6293         * tests/test-symlink.h (test_symlink): Enhance test.
6294
6295 2009-11-10  Eric Blake  <ebb9@byu.net>
6296
6297         link: detect FreeBSD bug
6298         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
6299         symlink.
6300         * doc/posix-functions/link.texi (link): Document the bug.
6301         * tests/test-link.h (test_link): Enhance test.
6302         * tests/test-linkat.c (main): Update caller.
6303
6304         unlink, remove: detect FreeBSD bug
6305         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
6306         slash on symlink.
6307         * doc/posix-functions/unlink.texi (unlink): Document the bug.
6308         * doc/posix-functions/remove.texi (remove): Likewise.
6309         * tests/test-unlink.h (test_unlink): Enhance test.
6310         * tests/test-remove.c (main): Likewise.
6311
6312 2009-11-09  Eric Blake  <ebb9@byu.net>
6313
6314         rename: detect FreeBSD bug
6315         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
6316         slash on symlink.
6317         * modules/renameat-tests (Depends-on): Add filenamecat.
6318         * tests/test-rename.h (test_rename): Allow one more errno.
6319         * tests/test-renameat.c (main): Likewise.
6320         * doc/posix-functions/rename.texi (rename): Document the bug.
6321
6322         open: detect FreeBSD bug
6323         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
6324         symlink.
6325         * doc/posix-functions/open.texi (open): Document the bug.
6326         * doc/posix-functions/utimes.texi (utimes): Likewise.
6327         * tests/test-open.h (test_open): Add parameters, and test symlink
6328         handling.
6329         * tests/test-open.c (main): Adjust caller.
6330         * tests/test-fcntl-safer.c (main): Likewise.
6331         * modules/open-tests (Depends-on): Add stdbool, symlink.
6332         * modules/fcntl-safer-tests (Depends-on): Likewise.
6333         * tests/test-openat.c (main): Add test-open tests.
6334
6335         stat: detect FreeBSD bug
6336         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
6337         symlink.
6338         * doc/posix-functions/stat.texi (stat): Document the bug.
6339         * tests/test-stat.h (test_stat_func): Add argument.
6340         * tests/test-stat.c (main): Adjust caller.
6341         * tests/test-fstatat.c (main): Likewise.
6342         * modules/stat-tests (Depends-on): Add stdbool, symlink.
6343         Reported by Jim Meyering.
6344
6345 2009-11-09  James Youngman  <jay@gnu.org>
6346
6347         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
6348         * lib/strftime.c: Correct placement of #include "ignore-value.h".
6349
6350 2009-11-08  Jim Meyering  <meyering@redhat.com>
6351
6352         utimens: remove invalid futimesat call
6353         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
6354         It used the file descriptor of the target file as the DIR_FD
6355         parameter and NULL as the file name.  That caused failure with
6356         errno == EFAULT on FreeBSD-8.0-rc2
6357
6358 2009-11-07  Eric Blake  <ebb9@byu.net>
6359
6360         fflush, freadseek: use fseeko, not fseek
6361         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
6362         (clear_ungetc_buffer): Avoid potential problems on large files.
6363         * lib/freadseek.c (freadseek): Likewise.
6364         * modules/freadseek (Depends-on): Add fseeko.
6365         * modules/fseek (configure.ac): Set a witness.
6366         * tests/test-fflush.c (main): Use fseeko.
6367         * tests/test-fpurge.c (fseek): Disable link warning.
6368         * tests/test-freadable.c (fseek): Likewise.
6369         * tests/test-freading.c (fseek): Likewise.
6370         * tests/test-fseeko.c (fseek): Likewise.
6371         * tests/test-ftell.c (fseek): Likewise.
6372         * tests/test-ftello.c (fseek): Likewise.
6373         * tests/test-fwritable.c (fseek): Likewise.
6374         * tests/test-fwriting.c (fseek): Likewise.
6375
6376 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6377
6378         * modules/memchr (Depends-on): Drop getpagesize dependency.
6379
6380 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6381
6382         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
6383         Reported by Ludovic Courtès.
6384         * build-aux/pmccabe2html: Improve example usage.
6385         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
6386
6387 2009-11-06  Jim Meyering  <meyering@redhat.com>
6388
6389         do-release-commit-and-tag: New module.
6390         Automate the release-commit and tag process.
6391         * build-aux/do-release-commit-and-tag: New script, from coreutils.
6392         * modules/do-release-commit-and-tag: New file.
6393         * MODULES.html.sh (Support for maintaining and releasing): Add it.
6394
6395 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6396
6397         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
6398         because test-select.c uses inet_pton.
6399
6400 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6401
6402         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
6403         GETADDRINFO_LIB.  Bump serial number.
6404         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
6405         Suggested by Eric Blake <ebb9@byu.net>.
6406
6407 2009-11-05  Eric Blake  <ebb9@byu.net>
6408
6409         strtod: detect darwin bug
6410         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
6411         Reported by Leo Davis.
6412
6413         freopen-safer: new module
6414         * modules/freopen-safer: New module.
6415         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
6416         * lib/freopen-safer.c (freopen_safer): New file.
6417         * lib/stdio-safer.h (freopen_safer): New declaration.
6418         * lib/stdio--.h (freopen): New override.
6419         * MODULES.html.sh (File stream based Input/Output): Mention it.
6420         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
6421         freopen-safer module.
6422         * doc/posix-functions/stderr.texi (stderr): Likewise.
6423         * doc/posix-functions/stdin.texi (stdin): Likewise.
6424         * doc/posix-functions/stdout.texi (stdout): Likewise.
6425         * modules/freopen-safer-tests: New test.
6426         * tests/test-reopen-safer.c: New file.
6427
6428 2009-11-05  Jim Meyering  <meyering@redhat.com>
6429
6430         maint.mk: Prohibit inclusion of "close-stream.h" without use.
6431         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
6432
6433 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6434
6435         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
6436
6437 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6438
6439         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
6440
6441 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6442
6443         Fix link error.
6444         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6445         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6446
6447 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6448
6449         * tests/test-func.c: Also test value of __func__.
6450
6451 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6452
6453         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
6454         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
6455
6456 2009-11-05  Bruno Haible  <bruno@clisp.org>
6457
6458         Fix link error.
6459         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6460         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6461         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
6462
6463 2009-11-05  Bruno Haible  <bruno@clisp.org>
6464
6465         Tests for module 'inet_pton'.
6466         * modules/inet_pton-tests: New file.
6467         * tests/test-inet_pton.c: New file.
6468
6469 2009-11-05  Bruno Haible  <bruno@clisp.org>
6470
6471         Tests for module 'inet_ntop'.
6472         * modules/inet_ntop-tests: New file.
6473         * tests/test-inet_ntop.c: New file.
6474
6475 2009-11-04  Eric Blake  <ebb9@byu.net>
6476
6477         stdlib-safer: wrap all mkstemp variants
6478         * modules/mkostemp (configure.ac): Set witness.
6479         * modules/mkostemps (configure.ac): Likewise.
6480         * modules/mkstemps (configure.ac): Likewise.
6481         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
6482         (mkstemps_safer): Wrap more functions.
6483         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
6484         wrapping.
6485         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
6486         (mkstemps_safer): Implement the wrappers.
6487
6488         mkstemps, mkostemps: new modules
6489         * modules/mkostemps: New module.
6490         * modules/mkstemps: Likewise.
6491         * lib/mkostemps.c (mkostemps): New file.
6492         * lib/mkstemps.c (mkstemps): Likewise.
6493         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
6494         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
6495         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
6496         * modules/stdlib (Makefile.am): Substitute them.
6497         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
6498         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
6499         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
6500         * doc/gnulib.texi (Glibc stdlib.h): Include them.
6501         * MODULES.html.sh (File system functions): Mention them.
6502
6503         tempname: resync from glibc
6504         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
6505         same values for __GT_FILE as glibc.  Abort even when assertions
6506         are disabled.
6507         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
6508         match its value otherwise.  Allow idempotent inclusion.
6509         * lib/mkdtemp.c (mkdtemp): Adjust caller.
6510         * lib/mkostemp.c (mkostemp): Likewise.
6511         * lib/mkstemp.c (mkstemp): Likewise.
6512         * lib/tmpfile.c (tmpfile): Likewise.
6513         * NEWS: Document this.
6514
6515         utimens: fix use of futimens on older Linux
6516         * lib/utimens.c (fdutimens): Use updated, rather than original,
6517         timespec to avoid bug in older Linux kernel.
6518         Reported by Simon Josefsson.
6519
6520 2009-11-04  Bruno Haible  <bruno@clisp.org>
6521
6522         Make num_processors more flexible and consistent.
6523         * lib/nproc.h (enum nproc_query): New type.
6524         (num_processors): Add a 'query' argument.
6525         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
6526         (num_processors): Add a 'query' argument. Test the value of the
6527         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
6528         mingw, count the number of CPUs available for the current process.
6529         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
6530         Check for sched_getaffinity and sched_getaffinity_np.
6531         * modules/nproc (Depends-on): Add c-ctype, extensions.
6532         * NEWS: Mention the change.
6533
6534 2009-11-03  Bruno Haible  <bruno@clisp.org>
6535
6536         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
6537
6538 2009-11-03  Jim Meyering  <meyering@redhat.com>
6539
6540         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
6541         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
6542         if it is defined.
6543
6544 2009-11-02  Eric Blake  <ebb9@byu.net>
6545
6546         mktime, timegm: share common declaration
6547         * lib/mktime-internal.h: New file.
6548         * lib/mktime.c: Use it rather than open-coding a declaration.
6549         * lib/timegm.c: Likewise.
6550         * modules/mktime (Files): Ship it.
6551         * modules/timegm (Files): Likewise.
6552         Suggested by Bruno Haible.
6553
6554         test-update-copyright: update test to match script changes
6555         * tests/test-update-copyright.sh: Avoid hard-coding perl
6556         location.  Don't update *.bak created by earlier runs.
6557
6558 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6559             Simon Josefsson  <simon@josefsson.org>
6560             Bruno Haible  <bruno@clisp.org>
6561
6562         Fix link error on Solaris 8.
6563         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
6564         also in libnsl. Define also INET_PTON_LIB.
6565         * modules/inet_pton (Link): New section.
6566
6567 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6568             Bruno Haible  <bruno@clisp.org>
6569
6570         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
6571         * modules/inet_ntop (Link): New section.
6572         Reported by Boyan Kasarov <bkasarov@gmail.com>.
6573
6574 2009-11-02  Eric Blake  <ebb9@byu.net>
6575
6576         maint: avoid compiler warnings in m4 macros
6577         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
6578         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
6579
6580 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6581
6582         * m4/pmccabe2html.m4: Remove file.
6583         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
6584         function.  Change maintainer.
6585         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
6586         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
6587         Courtès).
6588
6589 2009-10-31  Eric Blake  <ebb9@byu.net>
6590
6591         fseeko: fix m4 regression
6592         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
6593         regression from 2009-10-27.
6594         Reported by Ralf Wildenhues.
6595
6596 2009-10-31  Jim Meyering  <meyering@redhat.com>
6597
6598         inttostr: aesthetics and improved (compile-time) safety
6599         Define inttype_is_signed rather than inttype_is_unsigned,
6600         since the sole use is via "#if inttype_is_signed".
6601         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
6602         inttype_is_unsigned.
6603         * lib/offtostr.c (inttype_is_signed): Likewise.
6604         * lib/uinttostr.c (inttype_is_signed): Likewise.
6605         * lib/umaxtostr.c (inttype_is_signed): Likewise.
6606         * lib/inttostr.c (inttostr): Use verify to cross-check the
6607         inttype_is_signed value and the signedness of the actual type.
6608         * modules/inttostr (Depends-on): Add verify.
6609
6610 2009-10-30  Eric Blake  <ebb9@byu.net>
6611
6612         build: avoid compiler warnings
6613         * lib/fchmodat.c (lchmod): Mark unused variables.
6614         * lib/getopt.c (_getopt_initialize): Likewise.
6615         * lib/mktime.c (__mktime_internal): Provide prototype.
6616         * lib/inttostr.c (inttostr): Avoid compiler warning even with
6617         older gcc that do not understand #pragma GCC diagnostic.
6618         * lib/uinttostr.c (inttype_is_unsigned): Define.
6619         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
6620
6621 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
6622
6623         stat: fix compilation on AIX
6624         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
6625         only see struct stat64.
6626
6627 2009-10-30  Eric Blake  <ebb9@byu.net>
6628
6629         exclude: make more robust
6630         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
6631         rather than masking a coding bug.
6632         Suggested by Bruno Haible.
6633
6634 2009-10-30  Jim Meyering  <meyering@redhat.com>
6635
6636         perl scripts: remove #!/usr/bin/perl in favor of more portable...
6637         Rather than putting #!/usr/bin/perl on the first line,
6638         start with a variant of what's recommended by "man perlrun" that
6639         invokes the first "perl" program from your shell's search path.
6640         * build-aux/gitlog-to-changelog: Replace #!... as above.
6641         Add a "Local Variables" perl mode setting.
6642         Prompted by a patch from Ludovic Courtès.
6643         Improved by Eric Blake.
6644         * build-aux/useless-if-before-free: Likewise.
6645         * build-aux/announce-gen: Likewise.
6646         * build-aux/update-copyright: Likewise.
6647
6648 2009-10-29  Eric Blake  <ebb9@byu.net>
6649
6650         filenamecat-lgpl: adjust clients
6651         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
6652         filenamecat.
6653         * modules/renameat (Depends-on): Likewise.
6654
6655         filenamecat: split into filenamecat-lgpl
6656         * modules/filenamecat-lgpl: New module.
6657         * modules/filenamecat (Files): Move library-safe files into
6658         filenamecat-lgpl.
6659         (Depends-on): Add filenamecat-lgpl.
6660         (configure.ac): Declare witness.
6661         * lib/filenamecat.h (file_name_concat): Only declare when using
6662         GPL module.
6663         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
6664         Move...
6665         * lib/filenamecat-lgpl.c: ...into new file.
6666         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
6667         (gl_FILE_NAME_CONCAT): Use it.
6668         * MODULES.html.sh (File system functions): Mention new module.
6669
6670         argp: avoid memory leak
6671         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
6672         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
6673         base_name, since the latter malloc()s and can call exit().
6674         Leak introduced 2006-07-03.
6675
6676         dirname-lgpl: adjust clients that don't need full dirname
6677         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
6678         * modules/filenamecat (Depends-on): Likewise.
6679         * modules/linkat (Depends-on): Likewise.
6680         * modules/mkancesdirs (Depends-on): Likewise.
6681         * modules/mkdir (Depends-on): Likewise.
6682         * modules/openat (Depends-on): Likewise.
6683         * modules/savewd (Depends-on): Likewise.
6684         * modules/rename (Depends-on): Likewise.
6685         (License): Relax license.
6686         * modules/mkdir-tests (Depends-on): Drop progname.
6687         (Makefile.am): Delete unneeded LDADD.
6688         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
6689
6690         dirname: split into dirname-lgpl
6691         * modules/dirname-lgpl: New module.
6692         * modules/dirname (Files): Move library-safe files into
6693         dirname-lgpl.
6694         (Depends-on): Add dirname-lgpl.
6695         (configure.ac): Declare witness.
6696         * modules/double-slash-root (License): Relax license.
6697         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
6698         module.
6699         * lib/dirname.c (dir_len, mdir_name): Move...
6700         * lib/dirname-lgpl.c: ...into new file.
6701         * lib/basename.c (last_component, base_len): Move...
6702         * lib/basename-lgpl.c: ...into new file.
6703         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
6704         (gl_DIRNAME): Use it.
6705         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
6706         Mention new module.
6707         * modules/dirname-tests (Depends-on): Add progname.
6708         * tests/test-dirname.c (program_name): Delete.
6709
6710         mkdir: make safe for libraries
6711         * modules/mkdir (Depends-on): Drop xalloc.
6712         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
6713         exit.
6714
6715         tests: avoid some compiler warnings
6716         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
6717         literals.
6718         * tests/test-memchr.c (main): Avoid type mismatch.
6719         * tests/test-arpa_inet.c (main): Avoid unused parameters.
6720         * tests/test-base64.c (main): Likewise.
6721         * tests/test-getdelim.c (main): Likewise.
6722         * tests/test-gethostname.c (main): Likewise.
6723         * tests/test-getline.c (main): Likewise.
6724         * tests/test-netinet_in.c (main): Likewise.
6725         * tests/test-select.c (open_server_socket, main): Likewise.
6726         * tests/test-select-stdin.c (main): Likewise.
6727         * tests/test-sockets.c (main): Likewise.
6728         * tests/test-strsignal.c (main): Likewise.
6729         * tests/test-sys_select.c (main): Likewise.
6730         * tests/test-sys_socket.c (main): Likewise.
6731         * tests/test-u64.c (main): Likewise.
6732         * tests/test-xfprintf-posix.c (main): Likewise.
6733         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
6734
6735         sockets: avoid compiler warning
6736         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
6737
6738         maint: detect usage(1) and other suspicious exits
6739         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
6740
6741 2009-10-29  Jim Meyering  <meyering@redhat.com>
6742
6743         timespec: long-to-int truncation could make timespec_cmp malfunction
6744         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
6745         a multiple of 2^32 nanoseconds as no difference.
6746
6747 2009-10-28  Jim Meyering  <meyering@redhat.com>
6748
6749         fprintftime: wrap macro code argument in "do {...} while(0)"
6750         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
6751         cpy macro must be a statement that can be followed by a semicolon.
6752         Now that the else clause contains a comment and is hence longer
6753         than one line, I require curly braces.  That in turn requires
6754         that we wrap this code block in the standard do...while(0).
6755
6756         fprintftime: remove stray semicolon from previous change
6757         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
6758
6759         fprintftime: avoid a warning about ignored fwrite return value
6760         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
6761         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
6762         that is unsafe.
6763         * modules/fprintftime (Depends-on): Add ignore-value.
6764
6765         exclude: avoid an unwarranted warning
6766         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
6767
6768 2009-10-27  Eric Blake  <ebb9@byu.net>
6769
6770         fseek: avoid compilation failure when fflush is replaced
6771         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
6772         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
6773         module is in use.
6774         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
6775         module is not in use; since REPLACE_FSEEK worked otherwise.
6776         (GNULIB_FTELLO): Likewise for ftell.
6777         Reported by Ian Beckwith and others.
6778
6779 2009-10-27  Bruno Haible  <bruno@clisp.org>
6780
6781         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
6782         Reported by Jim Meyering.
6783
6784 2009-10-27  Jim Meyering  <jim@meyering.net>
6785             Bruno Haible  <bruno@clisp.org>
6786
6787         Avoid warning despite dropping the return value of fwrite.
6788         * lib/unicodeio.c: Include ignore-value.h.
6789         (fwrite_success_callback): Explicitly ignore fwrite's return value.
6790         * modules/unicodeio (Depends-on): Add ignore-value.
6791
6792 2009-10-26  Eric Blake  <ebb9@byu.net>
6793
6794         areadlinkat: fix fallback path
6795         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
6796         pointer and zero.
6797
6798 2009-10-22  Pádraig Brady  <P@draigBrady.com>
6799
6800         Use a better IO block size for modern systems
6801         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
6802         * lib/md2.c: Likewise.
6803         * lib/md4.c: Likewise.
6804         * lib/md5.c: Likewise.
6805         * lib/sha1.c: Likewise.
6806         * lib/sha256.c: Likewise.
6807         * lib/sha512.c: Likewise.
6808
6809 2009-10-22  Eric Blake  <ebb9@byu.net>
6810
6811         tests: avoid several compiler warnings
6812         * tests/test-getcwd.c (main): Avoid buffer underflow.
6813         * tests/test-getdate.c (main): String literals are not safe with
6814         putenv, so use setenv.  Declare unused argument.
6815         * modules/getdate-tests (Depends-on): Add setenv.
6816         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
6817         problems with string literals in char *.
6818         * tests/test-hash.c (main): Avoid shadowing declaration.
6819         (insert_new): Treat string literals as char const *.
6820         * tests/test-getopt.h (test_getopt): Likewise.
6821         (getopt_loop): Alter types to minimize casting elsewhere.
6822         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
6823         (test_getopt_long_posix): Likewise.
6824         (do_getopt_long): Add wrapper to minimize casting.
6825         * tests/test-atexit.c (clear_temp_file): Use void.
6826         * tests/test-areadlink-with-size.c (main): Declare unused
6827         arguments.
6828         * tests/test-areadlink.c (main): Likewise.
6829         * tests/test-areadlinkat-with-size.c (main): Likewise.
6830         * tests/test-areadlinkat.c (main): Likewise.
6831         * tests/test-canonicalize-lgpl.c (main): Likewise.
6832         * tests/test-canonicalize.c (main): Likewise.
6833         * tests/test-dirent-safer.c (main): Likewise.
6834         * tests/test-dirname.c (main): Likewise.
6835         * tests/test-dup2.c (main): Likewise.
6836         * tests/test-fchdir.c (main): Likewise.
6837         * tests/test-fcntl-h.c (main): Likewise.
6838         * tests/test-fcntl-safer.c (main): Likewise.
6839         * tests/test-fdopendir.c (main): Likewise.
6840         * tests/test-fdutimensat.c (main): Likewise.
6841         * tests/test-fflush.c (main): Likewise.
6842         * tests/test-filenamecat.c (main): Likewise.
6843         * tests/test-filevercmp.c (main): Likewise.
6844         * tests/test-fopen-safer.c (main): Likewise.
6845         * tests/test-fopen.c (main): Likewise.
6846         * tests/test-fpending.c (main): Likewise.
6847         * tests/test-fpurge.c (main): Likewise.
6848         * tests/test-freading.c (main): Likewise.
6849         * tests/test-fstatat.c (main): Likewise.
6850         * tests/test-fsync.c (main): Likewise.
6851         * tests/test-futimens.c (main): Likewise.
6852         * tests/test-getndelim2.c (main): Likewise.
6853         * tests/test-gettimeofday.c (main): Likewise.
6854         * tests/test-getopt.c (main): Likewise.
6855         * tests/test-i-ring.c (main): Likewise.
6856         * tests/test-inttypes.c (main): Likewise.
6857         * tests/test-link.c (main): Likewise.
6858         * tests/test-lstat.c (main): Likewise.
6859         * tests/test-math.c (main): Likewise.
6860         * tests/test-md5.c (main): Likewise.
6861         * tests/test-memchr2.c (main): Likewise.
6862         * tests/test-memrchr.c (main): Likewise.
6863         * tests/test-mkdir.c (main): Likewise.
6864         * tests/test-mkdirat.c (main): Likewise.
6865         * tests/test-mkfifoat.c (main): Likewise.
6866         * tests/test-open.c (main): Likewise.
6867         * tests/test-openat-safer.c (main): Likewise.
6868         * tests/test-openat.c (main): Likewise.
6869         * tests/test-quotearg.c (main): Likewise.
6870         * tests/test-rawmemchr.c (main): Likewise.
6871         * tests/test-readlink.c (main): Likewise.
6872         * tests/test-remove.c (main): Likewise.
6873         * tests/test-rename.c (main): Likewise.
6874         * tests/test-renameat.c (main): Likewise.
6875         * tests/test-rmdir.c (main): Likewise.
6876         * tests/test-sha1.c (main): Likewise.
6877         * tests/test-signal.c (main): Likewise.
6878         * tests/test-sigaction.c (main): Likewise.
6879         * tests/test-stat.c (main): Likewise.
6880         * tests/test-stat-time.c (main): Likewise.
6881         * tests/test-stddef.c (main): Likewise.
6882         * tests/test-stdint.c (main): Likewise.
6883         * tests/test-stdio.c (main): Likewise.
6884         * tests/test-stdlib.c (main): Likewise.
6885         * tests/test-strchrnul.c (main): Likewise.
6886         * tests/test-strerror.c (main): Likewise.
6887         * tests/test-string.c (main): Likewise.
6888         * tests/test-strtod.c (main): Likewise.
6889         * tests/test-strverscmp.c (main): Likewise.
6890         * tests/test-symlink.c (main): Likewise.
6891         * tests/test-symlinkat.c (main): Likewise.
6892         * tests/test-sys_stat.c (main): Likewise.
6893         * tests/test-sys_time.c (main): Likewise.
6894         * tests/test-time.c (main): Likewise.
6895         * tests/test-unistd.c (main): Likewise.
6896         * tests/test-unlink.c (main): Likewise.
6897         * tests/test-unlinkat.c (main): Likewise.
6898         * tests/test-utimens.c (main): Likewise.
6899         * tests/test-utimensat.c (main): Likewise.
6900         * tests/test-version-etc.c (main): Likewise.
6901         * tests/test-wchar.c (main): Likewise.
6902         * tests/test-wctype.c (main): Likewise.
6903         * tests/test-xprintf-posix.c (main): Likewise.
6904         * tests/test-posixtm.c (main): Likewise.
6905         (STREQ): Delete unused macro.
6906         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
6907         shadowed variables.
6908         * tests/test-memchr.c (main): Likewise.
6909
6910 2009-10-21  Eric Blake  <ebb9@byu.net>
6911
6912         areadlinkat: avoid failure on older glibc
6913         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
6914         rather than mis-comparing 0 against FUNC_RESULT of char*.
6915
6916 2009-10-21  Bruno Haible  <bruno@clisp.org>
6917
6918         * modules/stpncpy (License): Relicense under LGPLv2+.
6919         Reported by David Lutterkort <lutter@redhat.com>.
6920
6921 2009-10-20  Eric Blake  <ebb9@byu.net>
6922
6923         utimensat: work around Solaris 9 bug
6924         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
6925         has trailing slash bugs.
6926         * tests/test-lutimens.h (test_lutimens): Enhance test.
6927         * tests/test-utimens.h (test_utimens): Likewise.
6928         * doc/posix-functions/utime.texi (utime): Enhance documentation.
6929         * doc/posix-functions/utimes.texi (utimes): Likewise.
6930         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
6931         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
6932         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
6933         * doc/posix-functions/futimens.texi (futimens): Likewise.
6934
6935         fdutimensat: new module
6936         * modules/fdutimensat: New file.
6937         * lib/fdutimensat.c (fdutimensat): Likewise.
6938         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
6939         * MODULES.html.sh (File system functions): Mention module.
6940         * modules/fdutimensat-tests: New test.
6941         * tests/test-fdutimensat.c: Likewise.
6942
6943         doc: regenerate INSTALL
6944         * doc/INSTALL: Reflect recent autoconf update.
6945         * doc/INSTALL.ISO: Likewise.
6946         * doc/INSTALL.UTF-8: Likewise.
6947
6948 2009-10-20  Pádraig Brady  <P@draigBrady.com>
6949
6950         acl: warn if ACL support is not detected
6951         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
6952
6953 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
6954
6955         * lib/nproc.h: Add extern "C" block for C++.
6956
6957 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
6958             Bruno Haible  <bruno@clisp.org>
6959
6960         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
6961         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
6962         * doc/posix-functions/isalpha.texi: Likewise.
6963         * doc/posix-functions/isblank.texi: Likewise.
6964         * doc/posix-functions/iscntrl.texi: Likewise.
6965         * doc/posix-functions/isdigit.texi: Likewise.
6966         * doc/posix-functions/isgraph.texi: Likewise.
6967         * doc/posix-functions/islower.texi: Likewise.
6968         * doc/posix-functions/isprint.texi: Likewise.
6969         * doc/posix-functions/ispunct.texi: Likewise.
6970         * doc/posix-functions/isspace.texi: Likewise.
6971         * doc/posix-functions/isupper.texi: Likewise.
6972         * doc/posix-functions/isxdigit.texi: Likewise.
6973
6974 2009-10-18  Bruno Haible  <bruno@clisp.org>
6975
6976         Tests for module 'isblank'.
6977         * modules/isblank-tests: New file.
6978         * tests/test-isblank.c: New file.
6979
6980         New module 'isblank'.
6981         * lib/isblank.c: New file.
6982         * m4/isblank.m4: New file.
6983         * modules/isblank: New file.
6984         * doc/posix-functions/isblank.texi: Mention the new module.
6985
6986 2009-10-18  Bruno Haible  <bruno@clisp.org>
6987
6988         New module 'ctype'.
6989         * lib/ctype.in.h: New file.
6990         * m4/ctype.m4: New file.
6991         * modules/ctype: New file.
6992         * doc/posix-headers/ctype.texi: Mention the new module.
6993
6994 2009-10-18  Jim Meyering  <meyering@redhat.com>
6995
6996         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
6997         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
6998         right after its initialization, rather than farther down.
6999         Keeping these in close proximity makes it easier to ensure
7000         that each such variable is initialized.  E.g.,
7001
7002             LIB_CLOCK_GETTIME=
7003             AC_SUBST([LIB_CLOCK_GETTIME])
7004
7005         This change also increments these serial numbers.
7006         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
7007         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
7008         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7009
7010 2009-10-18  Bruno Haible  <bruno@clisp.org>
7011
7012         Don't let environment variables perturb build.
7013         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
7014         (gl_PREREQ_GETHRXTIME): ... not here.
7015
7016 2009-10-18  Bruno Haible  <bruno@clisp.org>
7017
7018         Avoid symlink attack in localcharset module.
7019         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
7020         (O_NOFOLLOW): Define fallback.
7021         (get_charset_aliases): Don't open the file if it is a symbolic link.
7022         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
7023         gl_FCNTL_H.
7024         (gl_FCNTL_H): Require it.
7025         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
7026         * modules/localcharset (Files): Add m4/fcntl_h.m4.
7027         Reported by Fergal Glynn <fglynn@veracode.com>.
7028
7029 2009-10-18  Bruno Haible  <bruno@clisp.org>
7030
7031         Implement nproc for mingw.
7032         * lib/nproc.c: Include <windows.h>
7033         (num_processors): On native Windows platforms, try GetSystemInfo.
7034
7035 2009-10-18  Bruno Haible  <bruno@clisp.org>
7036
7037         Implement nproc for IRIX.
7038         * lib/nproc.c: Include <sys/sysmp.h>.
7039         (num_processors): On IRIX systems, try sysmp.
7040         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
7041
7042 2009-10-18  Bruno Haible  <bruno@clisp.org>
7043
7044         Implement nproc for HP-UX.
7045         * lib/nproc.c: Include <sys/pstat.h>
7046         (num_processors): On HP-UX systems, try pstat_getdynamic.
7047         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
7048         pstat_getdynamic.
7049
7050 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
7051             Bruno Haible  <bruno@clisp.org>
7052
7053         Implement nproc for NetBSD, OpenBSD.
7054         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
7055         (ARRAY_SIZE): New macro.
7056         (num_processors): On BSD systems, try sysctl of HW_NCPU.
7057         * m4/nproc.m4: New file.
7058         * modules/nproc (Files): Add m4/nproc.m4.
7059         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
7060         (Makefile.am): Instead, augment lib_SOURCES.
7061
7062 2009-10-18  Bruno Haible  <bruno@clisp.org>
7063
7064         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
7065         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
7066         sys/param.h.
7067
7068 2009-10-16  Eric Blake  <ebb9@byu.net>
7069
7070         utimensat: new module
7071         * modules/utimensat: New file.
7072         * lib/utimensat.c (utimensat): Likewise.
7073         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7074         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
7075         so we can work around Linux bugs.
7076         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7077         * modules/sys_stat (Makefile.am): Substitute them.
7078         * lib/sys_stat.in.h (utimensat): Declare it.
7079         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7080         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7081         * modules/utimensat-tests: New test.
7082         * tests/test-utimensat.c: Likewise.
7083
7084         utimens: let lutimens work on non-symlinks
7085         * lib/utimens.c (lutimens): Fall back to utimens rather than
7086         failing with ENOSYS, when file is not a symlink.
7087         (utimens): Reduce redirection.
7088         * tests/test-lutimens.h (test_lutimens): Update test to cover
7089         non-symlinks.
7090         * tests/test-utimens.h (test_utimens): Update test to cover
7091         symlinks.
7092         * tests/test-utimens.c (main): Update caller.
7093
7094         utimens: cache whether utimensat syscall works
7095         * lib/utimens.c (utimensat_works_really): New cache variable.
7096         (fdutimens, lutimens): Use it to avoid failing syscall.
7097
7098         test-stat-time, test-utimens: improve portability
7099         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
7100         ext4 on alpha, and for cygwin.
7101         * tests/test-utimens-common.h: New file.
7102         (nap): Factor delays into single function.
7103         * tests/test-lutimens.h (test_lutimens): Use new header.
7104         * tests/test-futimens.h (test_futimens): Likewise.
7105         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
7106         timestamps to occur from same machine, as was done previously for
7107         test_utimens.
7108         * modules/utimens-tests (Files): Ship new file.
7109         * modules/futimens-tests (Files): Likewise.
7110         Reported in part by Jim Meyering.
7111
7112         sys_stat: sort replacement declarations
7113         * lib/sys_stat.in.h: Sort declarations.
7114         * lib/futimens.c (futimens): Fix typo.
7115
7116 2009-10-15  Jim Meyering  <meyering@redhat.com>
7117
7118         don't let environment settings perturb build
7119         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
7120         could cause a configure-time and/or build-time malfunction.
7121         Typically, a configure-time function-in-library test is performed
7122         via code like this:
7123
7124           LIB_VAR=
7125           AC_SUBST([LIB_VAR])
7126           prefix_saved_LIBS=$LIBS
7127             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
7128                        [test "$ac_cv_search_FUNC" = "none required" ||
7129                         LIB_VAR=$ac_cv_search_FUNC])
7130           LIBS=$prefix_saved_LIBS
7131
7132         However, in each of the files affected by this change, the LIB_VAR=
7133         initialization was omitted.  Thus, when set in the environment, its
7134         value would propagate into generated Makefiles when FUNC is not found
7135         in LIB_NAME.
7136         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
7137         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
7138         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7139
7140 2009-10-14  Eric Blake  <ebb9@byu.net>
7141
7142         fchdir: avoid infinite recursion in mingw
7143         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
7144         recursing.
7145
7146         test-stat-time: port to mingw
7147         * tests/test-stat-time.c (force_unlink): Return a value.
7148         (test_ctime) [W32]: Fix compilation error.
7149         (nap): Don't call usleep with too large an argument.  Use
7150         force_unlink.
7151         * doc/pastposix-functions/usleep.texi (usleep): Document the
7152         portability issue.
7153
7154 2009-10-13  Jim Meyering  <meyering@redhat.com>
7155
7156         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
7157         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
7158         * modules/pipe-filter-ii: Likewise.
7159         * modules/sys_socket-tests: Likewise.
7160         * modules/tsearch-tests: Likewise.
7161         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
7162         (check): Depend on it.
7163
7164 2009-10-12  Eric Blake  <ebb9@byu.net>
7165
7166         utimens-tests: port to NFS file systems
7167         * tests/test-utimens.h (test_utimens): Refactor utimecmp
7168         comparisons to avoid spurious failures from timestamp drift
7169         between NFS machines.
7170
7171 2009-10-12  Eric Blake  <ebb9@byu.net>
7172
7173         stat-time-tests: minor cleanups
7174         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
7175         * tests/test-stat-time.c (nap): Separate assignment from call.
7176         Suggested by Paolo Bonzini and Bruno Haible.
7177
7178         sys_stat: guarantee struct timespec
7179         * lib/sys_stat.in.h (includes): Always include <time.h>
7180         * modules/sys_stat (Depends-on): Add time.
7181         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
7182         mode_t permission values.
7183         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
7184         get at subsecond timestamps.
7185
7186 2009-10-10  Eric Blake  <ebb9@byu.net>
7187
7188         futimens: new module
7189         * modules/futimens: New file.
7190         * lib/futimens.c (futimens): Likewise.
7191         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
7192         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
7193         we can work around Linux bugs.
7194         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7195         * modules/sys_stat (Makefile.am): Substitute them.
7196         * lib/sys_stat.in.h (futimens): Declare it.
7197         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7198         * doc/posix-functions/futimens.texi (futimens): Likewise.
7199         * modules/futimens-tests: New test.
7200         * tests/test-futimens.c: Likewise.
7201
7202         utimens: introduce fdutimens
7203         * lib/utimens.h (fdutimens): New prototype.
7204         * lib/utimens.c (gl_futimens): Move guts...
7205         (fdutimens): ...to new interface.
7206         * tests/test-utimens.c (do_fdutimens): Use it.
7207
7208         utimens: add UTIME_NOW and UTIME_OMIT support
7209         * lib/utimens.c (validate_timespec, update_timespec): New helper
7210         functions.
7211         (gl_futimens, lutimens): Use them.
7212         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
7213         stdbool, sys_stat.
7214         (Link): Mention resulting library dependency.
7215         * modules/utimecmp (Link): Likewise.
7216         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
7217         (Makefile.am): Pick up library dependency.
7218         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
7219         definition.
7220         * tests/test-sys_stat.c: Test the definitions.
7221         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
7222         * NEWS: Document library dependency.
7223
7224         utimecmp: support symlink timestamps
7225         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
7226         hashing when possible.  Use pathconf when available.
7227         (SYSCALL_RESOLUTION): Recognize tighter resolution.
7228         * modules/utimecmp (Depends-on): Add lstat.
7229
7230         utimens: add lutimens interface
7231         * lib/utimens.c (lutimens): New function.
7232         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
7233         * lib/utimens.h (lutimens): Declare new interface.
7234         * tests/test-utimens.c (main): Enhance test.
7235         * tests/test-lutimens.h (test_lutimens): New file.
7236         * modules/utimens-tests (Files): Distribute it.
7237         (Depends-on): Add symlink.
7238         (configure.ac): Check for usleep.
7239
7240         utimens: validate futimens usage
7241         * lib/utimens.c (gl_futimens): Require valid fd up front, using
7242         fewer syscalls on failure later on.  Avoid compiler warning on
7243         mingw.
7244         * modules/utimens (Depends-on): Add dup2.
7245
7246         utimens: add test
7247         * modules/utimens-tests: New test.
7248         * tests/test-utimens.h: New file.
7249         * tests/test-futimens.h: Likewise.
7250         * tests/test-utimens.c: Likewise.
7251
7252         doc: mention timestamp portability issues
7253         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
7254         instead.
7255         * doc/posix-functions/utime.texi (utime): Likewise.
7256         * doc/posix-functions/utimes.texi (utimes): Likewise.
7257         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
7258         instead.
7259         * doc/posix-functions/futimens.texi (futimens): Mention utimens
7260         module.
7261         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7262         Mention weakness with symlink timestamps.
7263         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
7264         to utimensat/futimens instead.
7265         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
7266
7267         test-dup2: enhance test
7268         * tests/test-dup2.c (main): Also check AT_FDCWD.
7269
7270         test-stat-time: avoid more spurious failures
7271         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
7272         xfs; and avoid race if the two timestamps cross quantization edge.
7273
7274         relocatable: prefer 'file system' over 'filesystem'
7275         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
7276         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
7277         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
7278         * doc/relocatable.texi (Enabling Relocatability): Likewise.
7279         * lib/relocatable.c (compute_curr_prefix): Likewise.
7280
7281 2009-10-10  Jim Meyering  <meyering@redhat.com>
7282
7283         stat-time-tests: check for the usleep function
7284         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
7285
7286 2009-10-10  Bruno Haible  <bruno@clisp.org>
7287
7288         * modules/xnanosleep: Put the Link section after the Include section.
7289
7290 2009-10-09  Eric Blake  <ebb9@byu.net>
7291
7292         dup2: work around FreeBSD 6.1 bug
7293         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
7294         * doc/posix-functions/dup2.texi (dup2): Document it.
7295         Reported by Nelson H. F. Beebe and Jim Meyering.
7296
7297         test-stat-time: port to buggy NFS clients
7298         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
7299         (test_ctime): Also skip test if mtime and ctime are skewed.
7300
7301         maint: prefer 'file system' over 'filesystem'
7302         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
7303         * doc/posix-functions/lstat.texi (lstat): Likewise.
7304         * lib/file-has-acl.c (file_has_acl): Likewise.
7305         * lib/fwriteerror.c [TEST]: Likewise.
7306         * tests/test-areadlink.h (test_areadlink): Likewise.
7307         * tests/test-areadlinkat-with-size.c (main): Likewise.
7308         * tests/test-areadlinkat.c (main): Likewise.
7309         * tests/test-canonicalize-lgpl.c (main): Likewise.
7310         * tests/test-canonicalize.c (main): Likewise.
7311         * tests/test-fstatat.c (main): Likewise.
7312         * tests/test-linkat.c (main): Likewise.
7313         * tests/test-lstat.h (test_lstat_func): Likewise.
7314         * tests/test-mkdir.h (test_mkdir): Likewise.
7315         * tests/test-readlink.h (test_readlink): Likewise.
7316         * tests/test-remove.c (main): Likewise.
7317         * tests/test-rename.h (test_rename): Likewise.
7318         * tests/test-renameat.c (main): Likewise.
7319         * tests/test-rmdir.h (test_rmdir_func): Likewise.
7320         * tests/test-symlink.h (test_symlink): Likewise.
7321         * tests/test-symlinkat.c (main): Likewise.
7322         * tests/test-unlink.h (test_unlink_func): Likewise.
7323         * tests/test-unlinkat.c (main): Likewise.
7324
7325         maint: make realtime library usage explicit
7326         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
7327         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
7328         * modules/settime (Link): Likewise.
7329         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
7330
7331         test-stat-time: speed up execution
7332         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
7333         warning on mingw.
7334         (nap): New helper function.
7335         (prepare_test): Use it to reduce sleep time.
7336         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
7337         execution.
7338         * modules/stat-time-tests (configure.ac): Check for usleep.
7339
7340 2009-10-09  Jim Meyering  <meyering@redhat.com>
7341
7342         selinux-h: always use getfilecon wrappers
7343         * lib/getfilecon.c: New file.
7344         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
7345         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
7346         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
7347         (fgetfilecon): Provide a stub.
7348         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
7349         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
7350         file unconditionally.
7351         When <selinux/selinux.h> is found, arrange to use wrappers.
7352         * modules/selinux-h (Files): Add getfilecon.c.
7353         (Makefile.am): Substitute include-next-related bits
7354         into the now-always-generated selinux/selinux.h file.
7355         * doc/glibc-functions/lgetfilecon.texi: New file.
7356         * doc/glibc-functions/fgetfilecon.texi: New file.
7357         * doc/glibc-functions/getfilecon.texi: New file.
7358         * doc/glibc-functions/getfilecon-desc.texi: New file.
7359         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
7360         which to pull in the new files.
7361         * MODULES.html.sh (Misc): Add selinux-h.
7362
7363 2009-10-08  Jim Meyering  <meyering@redhat.com>
7364
7365         unistd: fix comment typo
7366         * lib/unistd.in.h (euidaccess): Fix a comment typo.
7367
7368 2009-10-08  Eric Blake  <ebb9@byu.net>
7369
7370         areadlink: use SIZE_MAX consistently
7371         * modules/areadlink (Depends-on): Add stdint.
7372         * modules/areadlink-with-size (Depends-on): Likewise.
7373         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
7374         gives NULL; drop sys/types, since unistd gives size_t; and add
7375         stdint for SIZE_MAX.
7376         (SIZE_MAX): Rely on headers.
7377         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
7378         and add stdint.
7379         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
7380         (SIZE_MAX): Likewise.
7381         (INITIAL_BUF_SIZE): Turn into enum.
7382         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
7383
7384 2009-10-08  Jim Meyering  <meyering@redhat.com>
7385
7386         areadlinkat: avoid compilation failure
7387         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
7388         Fix typo in comment.
7389
7390 2009-10-07  Eric Blake  <ebb9@byu.net>
7391
7392         areadlinkat-with-size: new module
7393         * modules/areadlinkat-with-size: New module.
7394         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
7395         * lib/areadlink.h (areadlinkat): Declare it.
7396         * MODULES.html.sh (File system functions): Mention it.
7397         * modules/areadlinkat-with-size-tests: New test.
7398         * tests/test-areadlinkat-with-size.c: New file.
7399
7400         xreadlinkat: new module
7401         * modules/xreadlinkat: New module.
7402         * lib/xreadlinkat.c (xreadlinkat): New file.
7403         * lib/xreadlink.h (xreadlinkat): Declare it.
7404         * MODULES.html.sh (File system functions): Mention it.
7405
7406         areadlinkat: new module
7407         * lib/at-func.c (FUNC_FAIL): New define.
7408         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
7409         * modules/areadlinkat: New module.
7410         * lib/linkat.c (areadlinkat): Move...
7411         * lib/areadlinkat.c (areadlinkat): ...to new file.
7412         * lib/areadlink.h (areadlinkat): Declare it.
7413         * modules/linkat (Depends-on): Add areadlinkat.
7414         * MODULES.html.sh (File system functions): Mention it.
7415         * modules/areadlinkat-tests: New test.
7416         * tests/test-areadlinkat.c: New file.
7417
7418         areadlink, areadlink-with-size: add tests
7419         * modules/areadlink-tests: New test.
7420         * modules/areadlink-with-size-tests: Likewise.
7421         * tests/test-areadlink.h: New file.
7422         * tests/test-areadlink.c: Likewise.
7423         * tests/test-areadlink-with-size.c: Likewise.
7424
7425         maint: minor cleanups
7426         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
7427         _UNUSED_PARAMETER_ instead.
7428         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
7429         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
7430         * modules/linkat-tests (Files): Distribute test-link.h.
7431
7432         openat, utimens: whitespace cleanup
7433         * lib/openat.c: Prefer space throughout, rather than mix of 8
7434         spaces vs. tabs.
7435         * lib/at-func.c: Likewise.
7436         * lib/utimens.c: Likewise.
7437
7438         openat: avoid using wrong fd
7439         * lib/openat.c (openat_permissive): Reject user's fd if saving the
7440         working directory chooses same fd.
7441         * lib/at-func.c (AT_FUNC_NAME): Likewise.
7442
7443         mkdir, mkdirat: fix cygwin 1.5.x bug
7444         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
7445         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
7446         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
7447         bug.
7448         (gl_PREREQ_MKDIR): Delete unused macro.
7449         * modules/mkdir (Files): Track file rename.
7450         (configure.ac): Update macro name.
7451         * modules/openat (Depends-on): Add mkdir.
7452         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
7453
7454         mkdir, mkdirat: add tests
7455         * modules/mkdir-tests: New test.
7456         * tests/test-mkdir.h: New file.
7457         * tests/test-mkdir.c: Likewise.
7458         * tests/test-mkdirat.c: Likewise.
7459         * modules/openat-tests (Files): Add new files.
7460         (Makefile.am): Run new test.
7461
7462 2009-10-06  Eric Blake  <ebb9@byu.net>
7463
7464         doc: tweak *at function documentation
7465         * doc/posix-functions/faccessat.texi (faccessat): Mention
7466         known issue with replacement.
7467         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
7468         * doc/posix-functions/linkat.texi (linkat): Likewise.
7469         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
7470         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
7471         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7472         * doc/posix-functions/renameat.texi (renameat): Likewise.
7473         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7474
7475         openat: fix GNU/Hurd bug in unlinkat
7476         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
7477         broken.
7478         * doc/posix-functions/unlink.texi (unlink): Document this.
7479         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
7480
7481         fdopendir: fix GNU/Hurd bug
7482         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
7483         allowing non-directory fds.
7484         * lib/fdopendir.c (rpl_fdopendir): Work around it.
7485         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
7486         * modules/dirent (Makefile.am): Substitute it.
7487         * lib/dirent.in.h (fdopendir): Declare replacement.
7488         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
7489         * tests/test-fdopendir.c (main): Test something other than
7490         /dev/null, since on Hurd that behaves like a directory.
7491
7492         test-symlink: port to GNU/Hurd
7493         * tests/test-symlink.h (test_symlink): Relax expected errno.
7494
7495         doc: tweak more cygwin information
7496         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
7497         now compatible with glibc.
7498         * doc/posix-functions/getopt.texi (getopt): Likewise.
7499
7500         getopt-gnu: add another test
7501         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
7502         guarantee behavior relied on by m4.
7503         * tests/test-getopt.c (main): Use it.
7504         * modules/getopt-posix-tests (Depends-on): Add setenv.
7505         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
7506
7507         getopt: fix compilation on darwin
7508         * lib/getopt.in.h (includes): Leave breadcrumbs during system
7509         include.
7510         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
7511         Reported by Ludovic Courtès.
7512
7513 2009-10-06  Bruno Haible  <bruno@clisp.org>
7514
7515         * modules/size_max (Description): Discourage its use.
7516         Reported by Simon Josefsson.
7517
7518 2009-10-06  Jim Meyering  <meyering@redhat.com>
7519
7520         linkat: avoid compilation failure
7521         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
7522
7523 2009-10-05  Eric Blake  <ebb9@byu.net>
7524
7525         linkat: support Linux 2.6.17
7526         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
7527         linkat on Linux, but allow cache variable override.
7528         * lib/linkat.c (rpl_linkat): Define override.
7529         * modules/linkat (Depends-on): Add symlinkat.
7530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
7531         * modules/unistd (Makefile.am): Substitute it.
7532         * lib/unistd.in.h (linkat): Declare replacement.
7533         Reported by Pádraig Brady.
7534
7535         quotearg: port test to systems with C.UTF-8 locale
7536         * tests/test-quotearg.c (struct result_strings): Add another
7537         member, differentiating between C.ASCII and C.UTF-8 handling.
7538         (compare_strings): Add parameter.
7539         (main): Adjust all callers.
7540
7541         getopt: avoid clash with FreeBSD _getopt_internal
7542         * lib/getopt.in.h (_getopt_internal): Override the name.
7543         * lib/getopt_int.h (includes): Pick up any overrides.
7544         Reported by Reuben Thomas.
7545
7546         hash: allow C89 compilation
7547         * lib/hash.c (check_tuning): Move declaration before statement.
7548         Reported by Reuben Thomas.
7549
7550 2009-10-05  Karl Berry  <karl@gnu.org>
7551
7552         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
7553
7554 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
7555             Bruno Haible  <bruno@clisp.org>
7556
7557         * lib/uname.c (uname): Use a table-driven algorithm to compute
7558         Windows NT versions.
7559
7560 2009-10-04  Bruno Haible  <bruno@clisp.org>
7561
7562         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
7563         program_invocation_short_name.
7564         * modules/progname (configure.ac): Test for presence of
7565         program_invocation_short_name.
7566         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
7567
7568 2009-10-04  Bruno Haible  <bruno@clisp.org>
7569
7570         * lib/progname.c (set_program_name): Fix comment.
7571         Reported by Jim Meyering.
7572
7573 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7574             Bruno Haible  <bruno@clisp.org>
7575
7576         * lib/uname.c: Include <string.h>.
7577         (uname): Do only one call to GetVersionEx in the common case.
7578
7579 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7580             Bruno Haible  <bruno@clisp.org>
7581
7582         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
7583         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
7584         (uname): Add support for Windows CE and various non-x86 CPU types.
7585
7586 2009-10-03  Bruno Haible  <bruno@clisp.org>
7587
7588         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
7589         invocation to tests/configure.ac.
7590         Reported by Ian Beckwith <ianb@erislabs.net>.
7591
7592 2009-10-02  Eric Blake  <ebb9@byu.net>
7593
7594         fchdir: avoid compiler warning
7595         * lib/fchdir.c (canonicalize_file_name)
7596         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
7597
7598         test-open: support mingw errno values
7599         * tests/test-open.h (test_open): Relax test.
7600         * tests/test-fopen.h (test_fopen): Likewise.
7601         * tests/test-openat-safer.c (main): Likewise.
7602
7603         open: fix opening directory on mingw
7604         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
7605
7606         test-open: on GNU/Hurd, /dev/null is a directory
7607         * tests/test-fopen.h (main): Rename...
7608         (test_fopen): ...to this.  Use a guaranteed non-directory when
7609         confirming open behavior on trailing slash.
7610         * tests/test-openat-safer.c (main): Likewise.
7611         * tests/test-open.h (main): Likewise....
7612         (test_open): ...to this.
7613         * tests/test-fopen.c (main): Adjust caller.
7614         * tests/test-fopen-safer.c (main): Likewise.
7615         * tests/test-open.c (main): Likewise.
7616         * tests/test-fcntl-safer.c (main): Likewise.
7617         Reported by Samuel Thibault.
7618
7619         rename, fchdir: don't ignore chdir failure
7620         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
7621         * lib/rename.c (rpl_rename) [W32]: Likewise.
7622         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
7623         an empty destination directory if source cannot be renamed,
7624         although there is still possibility for failure.
7625         * doc/posix-functions/rename.texi (rename): Document the race.
7626         Reported by Jim Meyering.
7627
7628         maint: cleanup whitespace in recent commits
7629         * lib/rename.c (rpl_rename): Remove tabs.
7630         * tests/test-link.h (test_link): Likewise.
7631         * lib/fchdir.c (get_name): Likewise.
7632         Reported by Jim Meyering.
7633
7634 2009-10-02  Ben Pfaff  <blp@gnu.org>
7635
7636         relocatable-prog-wrapper: Add missing dependency on
7637         double-slash-root.
7638         * modules/relocatable-prog-wrapper: Add dependency.
7639         Reported by Ian Beckwith <ianb@erislabs.net>.
7640
7641 2009-10-02  Eric Blake  <ebb9@byu.net>
7642
7643         renameat: fix Solaris bugs
7644         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
7645         needed fixing.
7646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
7647         * modules/stdio (Makefile.am): Substitute it.
7648         * lib/stdio.in.h (renameat): Declare replacement.
7649         * lib/renameat.c (rpl_renameat): Implement fix.
7650
7651         renameat: new module
7652         * modules/renameat: New file.
7653         * lib/renameat.c (renameat): Likewise.
7654         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
7655         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
7656         * modules/stdio (Makefile.am): Substitute them.
7657         * lib/stdio.in.h (renameat): Declare it.
7658         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7659         * doc/posix-functions/renameat.texi (renameat): Likewise.
7660         * modules/renameat-tests: New test.
7661         * tests/test-renameat.c: Likewise.
7662
7663         rename: fix mingw bugs
7664         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
7665         directory overwrite bugs.
7666
7667         rename: fix another cygwin 1.5 bug
7668         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
7669         checks.
7670         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
7671         unnecessary cygwin workarounds.  Also work around bug with moving
7672         full directory onto an empty one.
7673         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
7674
7675         rename-dest-slash: merge into rename module
7676         * modules/rename-dest-slash (Status): Mark obsolete.
7677         (Depends-on): Add rename.
7678         (Files): Let rename do it all.
7679         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
7680         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
7681         * m4/rename-dest-slash.m4: ...so this file can be deleted.
7682         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
7683         * lib/rename.c (rpl_rename): Update comments.
7684
7685         rename: fix cygwin 1.5.x bugs
7686         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
7687         * lib/rename.c (rpl_rename): Work around them.
7688         * modules/rename (Depends-on): Add same-inode.
7689
7690         rename: fix Solaris 10 bug
7691         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
7692         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
7693         was the only bug.
7694
7695         rename: fix Solaris 9 bug
7696         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
7697         on non-directory.  Avoid calling exit.
7698         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
7699         strdup.
7700         * modules/rename-tests (Depends-on): Drop lstat.
7701         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
7702         (gl_PREREQ_RENAME): Delete unused macro.
7703
7704         rename-dest-slash: fix NetBSD bug
7705         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
7706         links.
7707         * modules/rename-dest-slash (Depends-on): Add same-inode.
7708
7709         rename-tests: new test, exposes several platform bugs
7710         * modules/rename-tests: New file.
7711         * tests/test-rename.h: Likewise.
7712         * tests/test-rename.c: Likewise.
7713         * doc/posix-functions/rename.texi (rename): Improve documentation,
7714         including bugs that will eventually be fixed in gnulib.
7715
7716 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
7717
7718         * lib/uname.c: Include <stdlib.h>
7719         (uname): Assume version info is available.
7720
7721 2009-10-02  Jim Meyering  <meyering@redhat.com>
7722
7723         gnu-web-doc-update: correct --help output
7724         * build-aux/gnu-web-doc-update: Make --help output relevant.
7725
7726         gnu-web-doc-update: add standard options
7727         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
7728
7729         gnu-web-doc-update: New module.
7730         Use this script to automatically update the on-line web documentation
7731         for your GNU project at http://www.gnu.org/software/$pkg/manual/
7732         * modules/gnu-web-doc-update: New file, from coreutils.
7733         * build-aux/gnu-web-doc-update: New script.
7734
7735 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
7736
7737         link: LoadLibrary is not needed.
7738         * lib/link.c: Use GetModuleHandle.
7739
7740 2009-10-01  Eric Blake  <ebb9@byu.net>
7741
7742         getopt: bump serial number
7743         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
7744         change.
7745
7746         tests: tighten link, rmdir, and remove tests
7747         * tests/test-link.h (includes): No need to use <config.h> here.
7748         Clean up if directory hard link was created, otherwise test for
7749         trailing '.'.
7750         * tests/test-linkat.c (main): Simplify.
7751         * tests/test-remove.c (main): Enhance test for trailing '.'.
7752         * tests/test-rmdir.h (test_rmdir_func): Likewise.
7753
7754 2009-10-01  Jim Meyering  <meyering@redhat.com>
7755
7756         maint.mk: requiring "make major" was annoying, for a "minor" release.
7757         What is intended is "stable", to contrast with alpha and beta,
7758         so require "make stable", not "make major".
7759         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
7760         (get_tool_versions): Likewise.
7761         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
7762
7763 2009-09-30  Ben Pfaff  <blp@gnu.org>
7764
7765         Fix broken build of replacement for Windows tmpfile().
7766         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
7767         flags argument added along with the 'mkostemp' module.
7768
7769 2009-09-28  Bruno Haible  <bruno@clisp.org>
7770
7771         Avoid identifier clash with POSIX function 'remove' defined as a macro.
7772         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
7773         to 'remove_elt'.
7774         (gl_list_remove): Update.
7775         * lib/gl_list.c (gl_list_remove): Update.
7776         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
7777         to 'remove_elt'.
7778         (gl_oset_remove): Update.
7779         * lib/gl_list.c (gl_oset_remove): Update.
7780         Reported by Eric Blake.
7781
7782 2009-09-28  Eric Blake  <ebb9@byu.net>
7783
7784         doc: mention yet more cygwin 1.7 status
7785         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
7786         cygwin.
7787         * doc/glibc-functions/execvpe.texi (execvpe): New file.
7788         * doc/gnulib.texi (Glibc unistd.h): Mention it.
7789
7790         argp: fix test failure
7791         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
7792         that are not upper-case.  Pass correct range to tolower.
7793
7794 2009-09-27  Jim Meyering  <meyering@redhat.com>
7795
7796         test-yesno: work around sparc-dash here-document infelicity
7797         Without this change, the literal \177 byte in a here document
7798         would make dash 0.5.5.1-3 access uninitialized memory.
7799         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
7800         Instead, use a marker, "@", and filter through tr to create the desired
7801         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
7802
7803 2009-09-27  Bruno Haible  <bruno@clisp.org>
7804
7805         Disable untested support for new flavours of ACLs on AIX.
7806         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
7807         progress.
7808         * lib/set-mode-acl.c (qset_acl): Likewise.
7809
7810 2008-12-07  Bruno Haible  <bruno@clisp.org>
7811
7812         Add support for new flavours of ACLs on AIX. (Untested.)
7813         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
7814         (file_has_acl): Add support for newer AIX.
7815         * lib/set-mode-acl.c (qset_acl): Likewise.
7816         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
7817         Rainer Tammer <tammer@tammer.net>.
7818
7819 2009-09-26  Eric Blake  <ebb9@byu.net>
7820
7821         argp: fix compilation of getopt
7822         * lib/getopt.in.h (includes): Use different guard than glibc.
7823         Reported by Sergey Poznyakoff.
7824
7825         doc: mention more cygwin 1.7 status
7826         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
7827         bug.
7828         * doc/posix-functions/execl.texi (execl): Likewise.
7829         * doc/posix-functions/execle.texi (execle): Likewise.
7830         * doc/posix-functions/execlp.texi (execlp): Likewise.
7831         * doc/posix-functions/execv.texi (execv): Likewise.
7832         * doc/posix-functions/execve.texi (execve): Likewise.
7833         * doc/posix-functions/execvp.texi (execvp): Likewise.
7834         * doc/glibc-functions/canonicalize_file_name.texi
7835         (canonicalize_file_name): Cygwin 1.7 now provides this.
7836         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
7837         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
7838         on AT_SYMLINK_NOFOLLOW.
7839
7840 2009-09-24  Eric Blake  <ebb9@byu.net>
7841
7842         test-linkat: make test more robust
7843         * tests/test-linkat.c (main): Avoid collision with EEXIST.
7844
7845         getopt: fix inclusion guards for cygwin
7846         * modules/getopt-posix (Depends-on): Add include-next.
7847         (Makefile.am): Substitute more items in replacement header.
7848         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
7849         <getopt.h>.
7850         * lib/getopt.in.h (includes): Use split inclusion guard, and
7851         prefer <getopt.h> over include <unistd.h> when one is present.
7852         (option): Also override name of 'struct option'.
7853
7854         same-inode: revert prior change; it is not yet ready
7855         * NEWS: Undo mention of this change.
7856         * lib/same-inode.h (same-inode.h): Undo tri-state change.
7857         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
7858         * lib/cycle-check.c (cycle_check): Likewise.
7859         * lib/same.c (same_name): Likewise.
7860         * lib/at-func2.c (at_func2): Likewise.
7861
7862 2009-09-23  Eric Blake  <ebb9@byu.net>
7863
7864         linkat: new module
7865         * modules/linkat: New file.
7866         * lib/at-func2.c (at_func2): Likewise.
7867         * lib/linkat.c (linkat): Likewise.
7868         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
7869         * lib/openat-priv.h (at_func2): Add declaration.
7870         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
7871         * modules/unistd (Makefile.am): Substitute them.
7872         * lib/unistd.in.h (linkat): Declare it.
7873         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7874         * doc/posix-functions/linkat.texi (linkat): Likewise.
7875         * doc/posix-functions/link.texi (link): Tweak wording.
7876         * tests/test-link.c (main): Move guts...
7877         * tests/test-link.h (test_link): ...into new file.
7878         * modules/linkat-tests: New test.
7879         * tests/test-linkat.c: Likewise.
7880         * modules/link-tests (Files): Ship new file.
7881         (Depends-on): Add stdbool.
7882
7883         dirname: add library-safe mdir_name
7884         * lib/dirname.h (mdir_name): New prototype.
7885         * lib/dirname.c (dir_name): Move guts...
7886         (mdir_name): ...to new function that avoids xalloc_die.
7887
7888         fchdir: another mingw fix
7889         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
7890         * lib/fchdir.c (get_name): New helper method; skips canonicalize
7891         on mingw (where it has not yet been ported), and make it optional
7892         elsewhere.
7893         (_gl_register_fd): Use it.
7894
7895         same-inode: make SAME_INODE tri-state, to port to mingw
7896         * NEWS: Mention this change.
7897         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
7898         st_ino always being 0.
7899         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
7900         * lib/cycle-check.c (cycle_check): Likewise.
7901         * lib/same.c (same_name): Likewise.
7902
7903         lstat: avoid mingw compilation error
7904         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
7905         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
7906         lstat ourselves.
7907         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
7908         was adequate.
7909         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
7910         the checks for lstat.
7911         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
7912
7913         link: fix test failure on Solaris 9
7914         * lib/link.c (rpl_link): Don't assume link will catch bogus
7915         trailing slash on source.
7916
7917         test-symlinkat: enhance test
7918         * tests/test-readlink.c (main): Move guts...
7919         * tests/test-readlink.h (test_readlink): ...into new file.
7920         * tests/test-symlink.c (main): Move guts...
7921         * tests/test-symlink.h (test_symlink): ...into new file.
7922         * tests/test-symlinkat.c (main): Use new files for further
7923         coverage.
7924         (do_symlink, do_readlink): New helper functions.
7925         * modules/symlink-tests (Files): Ship new file.
7926         (Depends-on): Add stdbool.
7927         * modules/readlink-tests (Files): Ship new file.
7928         (Depends-on): Add stdbool.
7929         * modules/symlinkat-tests (Files): Use new files.
7930
7931 2009-09-23  Eric Blake  <ebb9@byu.net>
7932
7933         readlink: document portability issue with symlink length
7934         * doc/posix-functions/lstat.texi (lstat): Mention that some file
7935         systems have bogus st_size on symlinks, and mention the
7936         areadlink-with-size module.
7937         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
7938         * doc/posix-functions/readlink.texi (readlink): Mention the
7939         areadlink module, and ERANGE failure.
7940         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7941         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
7942
7943         readlink: fix Solaris 9 bug with trailing slash
7944         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
7945         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
7946         * doc/posix-functions/readlink.texi (readlink): Document this.
7947         * modules/readlink-tests: New test.
7948         * tests/test-readlink.c: Likewise.
7949
7950         readlink: fix cygwin 1.5.x bug with return type
7951         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
7952         * lib/unistd.in.h (readlink): Use ssize_t.
7953         * lib/readlink.c (readlink): Likewise.
7954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
7955         * modules/unistd (Makefile.am): Substitute it.
7956         * lib/unistd.in.h (readlink): Declare replacement.
7957         * doc/posix-functions/readlink.texi (readlink): Document this.
7958
7959         symlink: use throughout gnulib
7960         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
7961         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
7962         symlink is not used.
7963         * modules/symlinkat (Depends-on): Add symlink.
7964         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
7965         * modules/canonicalize-tests (Depends-on): Likewise.
7966         * modules/lstat-tests (Depends-on): Likewise.
7967         * modules/openat-tests (Depends-on): Likewise.
7968         * modules/remove-tests (Depends-on): Likewise.
7969         * modules/rmdir-tests (Depends-on): Likewise.
7970         * modules/unlink-tests (Depends-on): Likewise.
7971         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
7972         * tests/test-canonicalize.c (symlink): Likewise.
7973         * tests/test-fstatat.c (symlink): Likewise.
7974         * tests/test-lstat.c (symlink): Likewise.
7975         * tests/test-remove.c (symlink): Likewise.
7976         * tests/test-rmdir.c (symlink): Likewise.
7977         * tests/test-unlink.c (symlink): Likewise.
7978         * tests/test-unlinkat.c (symlink): Likewise.
7979
7980         symlink: new module, for Solaris 9 bug
7981         * modules/symlink: New file.
7982         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
7983         * lib/symlink.c: Likewise.
7984         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
7985         * modules/unistd (Makefile.am): Substitute them.
7986         * lib/unistd.in.h (symlink): Declare replacement.
7987         * MODULES.html.sh (File system functions): Mention it.
7988         * doc/posix-functions/symlink.texi (symlink): Likewise.
7989         * modules/symlink-tests: New test.
7990         * tests/test-symlink.c: Likewise.
7991
7992 2009-09-23  Bruno Haible  <bruno@clisp.org>
7993
7994         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
7995         when needed.
7996         Test case: gnulib-tool --import --with-tests atexit inttypes.
7997         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
7998
7999 2009-09-23  Bruno Haible  <bruno@clisp.org>
8000
8001         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
8002         subcommand, not in a subshell.
8003
8004 2009-09-22  Eric Blake  <ebb9@byu.net>
8005
8006         unistd: sort replacement declarations
8007         * lib/unistd.in.h: Sort declarations.
8008
8009         open, openat: minor optimization
8010         * lib/open.c (open): If open succeeded, len is non-zero.
8011         * lib/openat.c (rpl_openat): Likewise.
8012
8013         link-follow: ensure correct result
8014         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
8015         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
8016         distinguish between possible failures.
8017
8018 2009-09-21  Eric Blake  <ebb9@byu.net>
8019
8020         fts: avoid compiler warning
8021         * lib/fts.c (dirent_inode_sort_may_be_useful)
8022         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
8023
8024 2009-09-19  Bruno Haible  <bruno@clisp.org>
8025
8026         * lib/progreloc.c (canonicalize_file_name): New declaration.
8027
8028 2009-09-19  Eric Blake  <ebb9@byu.net>
8029
8030         link: fix quoting
8031         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
8032
8033         openat: fix openat bugs on Solaris 9
8034         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
8035         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
8036         * modules/openat (Depends-on): Add open.
8037         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
8038         * modules/fcntl-h (Makefile.am): Substitute it.
8039         * lib/fcntl.in.h (openat): Declare replacement.
8040         * doc/posix-functions/openat.texi (openat): Document this.
8041
8042         openat: move fstatat and unlinkat into correct files
8043         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
8044         compiled.
8045         * lib/openat.c (fstatat, unlinkat): Move...
8046         * lib/fstatat.c (fstatat): ...into correct files.
8047         * lib/unlinkat.c (unlinkat): Likewise.
8048
8049         openat: fix unlinkat bugs on Solaris 9
8050         * lib/unlinkat.c (unlinkat): New file.
8051         * modules/openat (Depends-on): Add unlink.
8052         (Files): Distribute it.
8053         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
8054         trailing slash behavior is broken.
8055         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8056         * modules/unistd (Makefile.am): Substitute it.
8057         * lib/unistd.in.h (unlinkat): Declare replacement.
8058         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
8059
8060         openat: fix fstatat bugs on Solaris 9
8061         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
8062         stat.
8063         * doc/posix-functions/fstatat.texi (fstatat): Document this.
8064
8065         test-unlinkat: enhance test, to expose Solaris 9 bug
8066         * tests/test-unlink.c (main): Factor guts...
8067         * tests/test-unlink.h (test_rmdir_func): ...into new file.
8068         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
8069         * tests/test-rmdir.c (main): Adjust caller.
8070         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
8071         (unlinker): New helper function.
8072         (rmdirat): Enhance check.
8073         * modules/rmdir-tests (Depends-on): Add stdbool.
8074         * modules/unlink-tests (Depends-on): Likewise.
8075         (Files): Add test-unlink.h.
8076         * modules/openat-tests (Files): Likewise.
8077         (Depends-on): Add unlinkdir.
8078
8079         test-fstatat: new test, to expose Solaris 9 bugs
8080         * tests/test-stat.c (main): Factor guts...
8081         * tests/test-stat.h (test_stat_func): ...into new file.
8082         * tests/test-lstat.c (main): Factor guts...
8083         * tests/test-lstat.h (test_lstat_func): ...into new file.
8084         * tests/test-fstatat.c: New file.
8085         * modules/stat-tests (Files): Add test-stat.h.
8086         * modules/lstat-tests (Files): Add test-lstat.h.
8087         (Depends-on): Add stdbool.
8088         * modules/openat-tests (Depends-on): Add pathmax.
8089         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
8090         (Makefile.am): Run new test.
8091
8092         remove: new module, for mingw and Solaris 9 bugs
8093         * modules/remove: New file.
8094         * lib/remove.c: Likewise.
8095         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
8096         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
8097         * modules/stdio (Makefile.am): Use them.
8098         * lib/stdio.in.h (remove): Declare replacement.
8099         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8100         * doc/posix-functions/remove.texi (remove): Likewise.
8101         * modules/remove-tests: New test.
8102         * tests/test-remove.c: Likewise.
8103
8104         unlink: new module, for Solaris 9 bug
8105         * modules/unlink: New file.
8106         * lib/unlink.c: Likewise.
8107         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
8109         * modules/unistd (Makefile.am): Use them.
8110         * lib/unistd.in.h (stat): Declare replacement.
8111         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8112         * doc/posix-functions/unlink.texi (unlink): Likewise.
8113         * modules/unlink-tests: New test.
8114         * tests/test-unlink.c: Likewise.
8115
8116         lstat: fix Solaris 9 bug
8117         * lib/lstat.c (lstat): Also check for trailing slash on
8118         non-symlink, non-directories.  Use stat module to simplify logic.
8119         * doc/posix-functions/lstat.texi (lstat): Document it.
8120         * modules/lstat-tests (Depends-on): Add errno, same-inode.
8121         (configure.ac): Check for symlink.
8122         * tests/test-lstat.c (main): Add more tests.
8123
8124         stat: add as dependency to other modules
8125         * modules/chown (Depends-on): Add stat.
8126         * modules/euidaccess (Depends-on): Likewise.
8127         * modules/fchdir (Depends-on): Likewise.
8128         * modules/isdir (Depends-on): Likewise.
8129         * modules/link (Depends-on): Likewise.
8130         * modules/lstat (Depends-on): Likewise.
8131         * modules/mkdir-p (Depends-on): Likewise.
8132         * modules/modechange (Depends-on): Likewise.
8133         * modules/open (Depends-on): Likewise.
8134         * modules/readlink (Depends-on): Likewise.
8135         * modules/same (Depends-on): Likewise.
8136
8137         stat: fix Solaris 9 bug
8138         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
8139         slash.
8140         * lib/stat.c (rpl_stat): Work around it.
8141         * doc/posix-functions/stat.texi (stat): Update documentation.
8142
8143         stat: new module, for mingw bug
8144         * modules/stat: New file.
8145         * lib/stat.c: Likewise.
8146         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8147         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
8148         * modules/sys_stat (Makefile.am): Use them.
8149         * lib/sys_stat.in.h (stat): Declare replacement.
8150         * lib/openat.c (fstatat): Deal with lstat and stat being function
8151         macros.
8152         * modules/openat (Depends-on): Add inline.
8153         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8154         * doc/posix-functions/stat.texi (stat): Likewise.
8155         * modules/stat-tests: New test.
8156         * tests/test-stat.c: Likewise.
8157
8158 2009-09-19  Jim Meyering  <meyering@redhat.com>
8159
8160         syntax-check: detect unnecessary inclusion of canonicalize.h
8161         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
8162
8163 2009-09-19  Eric Blake  <ebb9@byu.net>
8164
8165         canonicalize-lgpl: adjust clients to use correct header
8166         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
8167         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
8168         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
8169         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
8170         * lib/progreloc.c (includes): Likewise.
8171
8172 2009-09-19  Jim Meyering  <meyering@redhat.com>
8173
8174         test-posixtm.c: correct a comment
8175         * tests/test-posixtm.c: Correct first-line comment.
8176         Spotted by Eric Blake.
8177
8178 2009-09-16  Jim Meyering  <meyering@redhat.com>
8179
8180         posixtm-tests: make T const-correct; add a test case
8181         * tests/test-posixtm.c (T): Declare const.
8182         Add a test for -(2^31+1).
8183         Remove useless can-succeed-only-in-2002 test.
8184
8185         posixtm-tests: adjust the sole failing test
8186         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
8187         expected output matches what mktime now produces.  Cross-checked via
8188         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
8189
8190         posixtm: move #ifdef'd tests into a new module
8191         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
8192         * tests/test-posixtm.c: ... this new file.
8193         * modules/posixtm-tests: New module.
8194
8195 2009-09-19  Eric Blake  <ebb9@byu.net>
8196
8197         openat: simplify use of at-func.c
8198         * lib/at-func.c (includes): Include prerequisites here, to
8199         simplify requirements on client files.
8200         * lib/openat-priv.h: Add double-inclusion guard.
8201         * lib/faccessat.c (includes): Simplify.
8202         * lib/fchmodat.c (includes): Likewise.
8203         * lib/fchownat.c (includes): Likewise.
8204         * lib/mkdirat.c (includes): Likewise.
8205         * lib/mkfifoat.c (includes): Likewise.
8206         * lib/symlinkat.c (includes): Likewise.
8207
8208         openat: allow return of fd 0
8209         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
8210         * modules/save-cwd (Depends-on): Replace fcntl-safer with
8211         unistd-safer.
8212         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
8213         <fcntl.h>; this module does not leak fds.
8214         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
8215         must be allowed to return 0, leaving openat_safer to add the
8216         safety.
8217         (openat_permissive): Avoid writing to just-opened fd 2 if
8218         restoring the current directory fails.
8219         * lib/openat-die.c (openat_restore_fail): Add comment.
8220         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
8221         (save_cwd): Guarantee safe fd, but without use of open_safer.
8222         * tests/test-openat.c: New test.
8223         * modules/openat-tests (Files, Makefile.am): Distribute and build
8224         new file.
8225
8226         relocatable-prog-wrapper: fix build
8227         * modules/relocatable-prog-wrapper (Files): Update name of
8228         canonicalize m4 file, broken on 2009-09-17.
8229         Reported by emad hajjar <aleppos@hotmail.com>.
8230
8231 2009-09-19  Bruno Haible  <bruno@clisp.org>
8232
8233         * lib/safe-alloc.h: Use the standard header with GPL copyright.
8234         * lib/safe-alloc.c: Likewise.
8235         Reported by Ian Beckwith <ianb@erislabs.net>.
8236
8237 2009-09-18  Bruno Haible  <bruno@clisp.org>
8238
8239         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
8240         Reported by <erobles@sensacd.com.mx>.
8241
8242 2009-09-17  Eric Blake  <ebb9@byu.net>
8243
8244         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
8245         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
8246         slashes when checking if last component is missing.
8247         * tests/test-canonicalize.c (main): Test this.
8248
8249         canonicalize, canonicalize-lgpl: honor // if distinct from /
8250         * modules/canonicalize (Files): Add double-slash-root.m4.
8251         * modules/canonicalize-lgpl (Files): Likewise.
8252         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
8253         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
8254         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
8255         fallback definition.
8256         (canonicalize_filename_mode): Use it to protect //.
8257         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
8258         (__realpath): Likewise.
8259         * tests/test-canonicalize.c (main): Test this.
8260         * tests/test-canonicalize-lgpl.c (main): Likewise.
8261         * modules/canonicalize-tests (Depends-on): Add same-inode.
8262         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
8263
8264         canonicalize-lgpl: fix glibc bug with trailing slash
8265         * m4/canonicalize-lgpl.m4: Move contents...
8266         * m4/canonicalize.m4: ...here.
8267         (gl_CANONICALIZE_LGPL): Factor realpath check...
8268         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
8269         glibc 2.3.5 bug, fixed 2005-04-27.
8270         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
8271         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
8272         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
8273         * modules/canonicalize-lgpl (Files): Manage file rename.
8274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
8275         * modules/stdlib (Makefile.am): Substitute witness.
8276         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
8277         is needed.
8278         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
8279         replacement is required.
8280         * lib/canonicalize.c (canonicalize_file_name): Likewise.
8281         * doc/glibc-functions/canonicalize_file_name.texi
8282         (canonicalize_file_name): Document this.
8283         * doc/posix-functions/realpath.texi (realpath): Likewise.
8284
8285         canonicalize-lgpl: reject non-directory with trailing slash
8286         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
8287         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
8288         catches failures in glibc 2.3.5.
8289         * tests/test-canonicalize.c (main): Likewise.
8290
8291         canonicalize-lgpl: use native realpath if it works
8292         * lib/canonicalize-lgpl.c (realpath): Guard with
8293         FUNC_REALPATH_WORKS.
8294         * lib/stdlib.in.h (realpath): Make declaration optional based on
8295         HAVE_REALPATH.
8296         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
8297         native realpath works.
8298         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
8299         * modules/stdlib (Makefile.am): Substitute witness.
8300
8301         canonicalize, canonicalize-lgpl: use <stdlib.h>
8302         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
8303         (Include): Mention <stdlib.h>.
8304         (configure.ac): Mention functions we provide.
8305         * modules/canonicalize (configure.ac): Likewise.
8306         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
8307         realpath if canonicalize_file_name is missing.
8308         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
8309         * modules/stdlib (Makefile.am): Substitute witnesses.
8310         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
8311         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
8312         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
8313         * NEWS: Document this.
8314         * doc/glibc-functions/canonicalize_file_name.texi
8315         (canonicalize_file_name): Likewise.
8316         * doc/posix-functions/realpath.texi (realpath): Likewise.
8317         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
8318
8319         test-canonicalize: consolidate into single C program
8320         * tests/test-canonicalize.sh: Delete; move setup into...
8321         * tests/test-canonicalize.c (main): ...the program, making it
8322         easier to run in debugger.  Add some tests.
8323         * modules/canonicalize-tests (Files): Remove unused file.
8324         (Depends-on): Add progname.
8325         (configure.ac, Makefile.am): Simplify.
8326
8327         test-canonicalize-lgpl: consolidate into single C program
8328         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
8329         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
8330         easier to run in debugger.  Add some tests.
8331         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
8332         (configure.ac, Makefile.am): Simplify.
8333
8334         canonicalize: avoid resolvepath
8335         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
8336         unnecessary checks.
8337         * lib/canonicalize.c (includes): Simplify.
8338         (canonicalize_file_name): Drop resolvepath implementation.
8339         * modules/canonicalize (Depends-on): Drop filenamecat.
8340
8341         canonicalize: don't lose errno
8342         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
8343         over calls to free.
8344
8345         canonicalize: simplify errno handling
8346         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
8347         assignment.
8348
8349         canonicalize, canonicalize-lgpl: update module dependencies
8350         * modules/canonicalize (Depends-on): Add extensions, lstat,
8351         pathmax, stdlib.
8352         (Files): Drop pathmax.h.
8353         (configure.ac): Adjust macro name.
8354         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
8355         lstat, stdlib, sys_stat.
8356         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
8357         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
8358         extensions.
8359         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
8360         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
8361         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
8362         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
8363         declaration, if available.
8364         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
8365         we can rely on the readlink module.
8366         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
8367         (includes): Use <unistd.h> unconditionally.
8368
8369 2009-09-17  Eric Blake  <ebb9@byu.net>
8370
8371         maint: make Include sections of modules consistent
8372         * modules/alloca: Use only header name; no need to list #include.
8373         * modules/alloca-opt: Likewise.
8374         * modules/arpa_inet: Likewise.
8375         * modules/canon-host: Likewise.
8376         * modules/configmake: Likewise.
8377         * modules/dirent: Likewise.
8378         * modules/eealloc: Likewise.
8379         * modules/environ: Likewise.
8380         * modules/fchdir: Likewise.
8381         * modules/fcntl: Likewise.
8382         * modules/fcntl-h: Likewise.
8383         * modules/gethrxtime: Likewise.
8384         * modules/gettime: Likewise.
8385         * modules/ignore-value: Likewise.
8386         * modules/inet_ntop: Likewise.
8387         * modules/inet_pton: Likewise.
8388         * modules/inttypes: Likewise.
8389         * modules/isnand-nolibm: Likewise.
8390         * modules/isnanf-nolibm: Likewise.
8391         * modules/mbchar: Likewise.
8392         * modules/mbfile: Likewise.
8393         * modules/mbiter: Likewise.
8394         * modules/mbuiter: Likewise.
8395         * modules/netdb: Likewise.
8396         * modules/netinet_in: Likewise.
8397         * modules/nproc: Likewise.
8398         * modules/pagealign_alloc: Likewise.
8399         * modules/poll: Likewise.
8400         * modules/printf-frexp: Likewise.
8401         * modules/pthread: Likewise.
8402         * modules/putenv: Likewise.
8403         * modules/random_r: Likewise.
8404         * modules/relocatable-prog: Likewise.
8405         * modules/search: Likewise.
8406         * modules/select: Likewise.
8407         * modules/selinux-h: Likewise.
8408         * modules/settime: Likewise.
8409         * modules/signal: Likewise.
8410         * modules/size_max: Likewise.
8411         * modules/socklen: Likewise.
8412         * modules/ssize_t: Likewise.
8413         * modules/stdarg: Likewise.
8414         * modules/stdbool: Likewise.
8415         * modules/stddef: Likewise.
8416         * modules/stdint: Likewise.
8417         * modules/stdio: Likewise.
8418         * modules/stdlib: Likewise.
8419         * modules/string: Likewise.
8420         * modules/strings: Likewise.
8421         * modules/sys_file: Likewise.
8422         * modules/sys_ioctl: Likewise.
8423         * modules/sys_select: Likewise.
8424         * modules/sys_socket: Likewise.
8425         * modules/sys_stat: Likewise.
8426         * modules/sys_time: Likewise.
8427         * modules/sys_times: Likewise.
8428         * modules/sys_utsname: Likewise.
8429         * modules/sys_wait: Likewise.
8430         * modules/sysexits: Likewise.
8431         * modules/time: Likewise.
8432         * modules/times: Likewise.
8433         * modules/tmpfile: Likewise.
8434         * modules/trim: Likewise.
8435         * modules/unistd: Likewise.
8436         * modules/wchar: Likewise.
8437         * modules/wctype: Likewise.
8438
8439 2009-09-17  Bruno Haible  <bruno@clisp.org>
8440
8441         Make getdate.y compile on QNX and NetBSD 5 / i386.
8442         * m4/getdate.m4 (gl_GETDATE): Conditionally define
8443         TIME_T_FITS_IN_LONG_INT.
8444         * lib/getdate.y (long_time_t): New type.
8445         (relative_time): Change type of 'seconds' field to long_time_t.
8446         (get_date): Update types of local variables. Check against overflow
8447         during conversion from long_time_t to time_t.
8448         Reported by Matt Kraai <kraai@ftbfs.org>
8449         and Hasso Tepper <hasso@netbsd.org>.
8450
8451 2009-09-17  Bruno Haible  <bruno@clisp.org>
8452
8453         * modules/COPYING: Update copyright years.
8454         * modules/README: Likeiwse.
8455         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
8456         Reported by Ian Beckwith <ianb@erislabs.net>.
8457
8458 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8459
8460         * users.txt: Update references for gnuit package.
8461
8462 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8463
8464         * m4/getdelim.m4: Fix typo in copyright line.
8465
8466 2009-09-17  Bruno Haible  <bruno@clisp.org>
8467
8468         * lib/atoll.c: Use the standard header with GPL copyright.
8469         * lib/argz.in.h: Likewise.
8470         * lib/glob.c: Likewise.
8471         * lib/glob-libc.h: Likewise.
8472         * lib/random_r.c: Likewise.
8473         * lib/siglist.h: Likewise.
8474         * lib/strsignal.c: Likewise.
8475         Reported by Ian Beckwith <ianb@erislabs.net>.
8476
8477 2009-09-17  Eric Blake  <ebb9@byu.net>
8478
8479         rmdir: ensure correct dependency order
8480         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
8481
8482 2009-09-17  Bruno Haible  <bruno@clisp.org>
8483
8484         Disable assertion that fails on NetBSD 5 / i386.
8485         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
8486         Reported by Sam Steingold <sds@gnu.org>
8487         and Hasso Tepper <hasso@netbsd.org>.
8488
8489 2009-09-16  Eric Blake  <ebb9@byu.net>
8490
8491         unlinkdir: port to mingw
8492         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
8493         on which no one can unlink a directory.
8494
8495         stdlib: sort witness names
8496         * modules/stdlib (Makefile.am): Sort replacements.
8497         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
8498         * lib/stdlib.in.h: Likewise.
8499
8500         parse-duration-tests: avoid link failure
8501         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
8502         LIBINTL.
8503         Reported by Tom G. Christensen.
8504
8505         openat-tests: ensure unlinkat behaves like rmdir
8506         * tests/test-rmdir.c (main): Factor guts...
8507         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
8508         * modules/rmdir-tests (Files): Ship new file.
8509         * modules/openat-tests: New test.
8510         * tests/test-unlinkat.c: Likewise.
8511
8512         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
8513         * modules/rmdir-errno (Status, Notice): Now obsolete.
8514
8515         rmdir: work around cygwin 1.5.x and mingw bugs
8516         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
8517         * lib/rmdir.c (rmdir): Work around it.
8518         * modules/rmdir (Status, Notice): No longer obsolete.
8519         (Files): Add dos.m4.
8520         (Depends-on): Add unistd.
8521         (configure.ac): Set witnesses.
8522         (License): Relax to LGPLv2+.
8523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
8524         * modules/unistd (Makefile.am): Substitute witnesses.
8525         * lib/unistd.in.h (rmdir): Declare replacement.
8526         * doc/posix-functions/rmdir.texi (rmdir): Document this.
8527         * modules/rmdir-tests: New tests.
8528         * tests/test-rmdir.c: Likewise.
8529
8530 2009-09-15  Eric Blake  <ebb9@byu.net>
8531
8532         fchdir: improve use of replacement functions
8533         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
8534         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
8535         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
8536         REPLACE_CLOSEDIR.
8537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
8538         * modules/sys_stat (Makefile.am): Substitute correct witness.
8539         * modules/dirent (Makefile.am): Likewise.
8540         * modules/unistd (Makefile.am): Likewise.
8541         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
8542         * lib/unistd.in.h (dup): Likewise.
8543         * lib/sys_stat.in.h (fstat): Likewise.
8544
8545         maint: ignore gnulib-tool temp files
8546         * .gitignore: Ignore files created during gnulib-tool --test.
8547
8548 2009-09-13  Jim Meyering  <meyering@redhat.com>
8549
8550         posixtm: don't reject a time that specify "60" as the number of seconds
8551         * lib/posixtm.c (posixtime): The code to reject invalid dates
8552         would also reject a time specified with the .60 suffix.
8553         But POSIX allows that, in order to accommodate leap seconds.
8554         So don't reject it.
8555         (main): Adjust tests accordingly.
8556         * modules/posixtm (Depends-on): Add stpcpy.
8557
8558 2009-09-11  Jim Meyering  <meyering@redhat.com>
8559
8560         announce-gen: include [$release_type] in emitted Subject:
8561         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
8562         e.g., [stable] in the emitted Subject: line.
8563
8564 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8565
8566         Remove obsolete macros from several modules.
8567         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
8568         obsolete Autoconf macros with their modern counterparts.
8569         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
8570         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
8571         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
8572         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
8573         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
8574         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8575         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8576         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8577         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8578         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
8579         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8580         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8581         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
8582         * m4/sockets.m4 (gl_SOCKETS): Likewise.
8583         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
8584         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
8585         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
8586         * m4/time_r.m4 (gl_TIME_R): Likewise.
8587         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8588         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
8589         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
8590
8591         Fix copyright header in build-aux scripts.
8592         * build-aux/git-version-gen: Fix copyright header to match GPLv3
8593         recommendation.
8594         * build-aux/ncftpput-ftp: Likewise.
8595         * build-aux/update-copyright: Likewise.
8596
8597 2009-09-09  Eric Blake  <ebb9@byu.net>
8598
8599         test-link: allow Linux choice of errno
8600         * tests/test-link.c (main): Relax test for alternate error.
8601
8602         strndup: fix improper m4 caching
8603         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
8604         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
8605         (gl_PREREQ_STRNDUP): Delete.
8606         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
8607         * modules/string (Makefile.am): Substitute it.
8608         * lib/string.in.h (strndup): Modernize prototype.
8609
8610         getcwd: port to mingw
8611         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
8612         different from the POSIX assumptions made throughout the getcwd
8613         module; fortunately, the mingw getcwd does not need replacement.
8614         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
8615         * modules/getcwd-tests: New test.
8616         * tests/test-getcwd.c: Likewise.
8617
8618         link: fix platform bugs
8619         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
8620         * lib/link.c (link): Work around them.  Fix related mingw bug.
8621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
8622         * modules/unistd (Makefile.am): Substitute it.
8623         * lib/unistd.in.h (link): Declare replacement.
8624         * doc/posix-functions/link.texi (link): Document this.
8625         * modules/link (Depends-on): Add strdup-posix, sys_stat.
8626
8627         test-link: consolidate into single C program, test more cases
8628         * tests/test-link.sh: Delete.
8629         * tests/test-link.c: Test more error conditions.  Exposes bugs on
8630         at least Cygwin and Solaris.
8631         * modules/link-tests (Files): Remove unused file.
8632         (Depends-on): Add errno, sys_stat.
8633         (Makefile.am): Simplify.
8634
8635 2009-09-08  Bruno Haible  <bruno@clisp.org>
8636
8637         Work around towlower, towupper bug on mingw.
8638         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
8639         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
8640         * doc/posix-functions/towlower.texi: Mention the mingw bug.
8641         * doc/posix-functions/towupper.texi: Likewise.
8642         Reported by Eric Blake.
8643
8644 2009-09-08  Jim Meyering  <meyering@redhat.com>
8645
8646         build: don't try to run autoheader if we don't use it
8647         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
8648         is not used in configure.ac.
8649
8650 2009-09-08  Eric Blake  <ebb9@byu.net>
8651
8652         euidaccess: fix compilation error
8653         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
8654
8655         rawmemchr: relax license
8656         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
8657         okay.
8658         Reported by Jim Meyering.
8659
8660         mkfifoat: new module
8661         * modules/mkfifoat: New file.
8662         * lib/mkfifoat.c: Likewise.
8663         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
8664         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
8665         * modules/sys_stat (Makefile.am): Use them.
8666         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
8667         * MODULES.html.sh (File system functions): Mention module.
8668         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
8669         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
8670         * modules/mkfifoat-tests: New test.
8671         * tests/test-mkfifoat.c: Likewise.
8672
8673         strchrnul: relax license
8674         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
8675         okay.
8676         Reported by Jim Meyering.
8677
8678 2009-09-08  Eric Blake  <ebb9@byu.net>
8679
8680         fstatat: fix compilation on Solaris
8681         * lib/fstatat.c (includes): Add fcntl.h.
8682         Reported by Pádraig Brady.
8683
8684 2009-09-07  Eric Blake  <ebb9@byu.net>
8685
8686         rename: modernize replacement
8687         * modules/rename (Depends-on): Add stdio.
8688         (configure.ac): Declare witness.
8689         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
8690         stdio take care of replacement.
8691         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
8692         * modules/stdio (Makefile.am): Substitute them.
8693         * lib/stdio.in.h (rename): Declare replacement.
8694         * lib/rename.c (includes): Allow cross-compilation to non-windows
8695         machines.
8696         * doc/posix-functions/rename.texi (rename): Improve
8697         documentation.
8698
8699         stdio: sort witness names
8700         * modules/stdio (Makefile.am): Sort replacements.
8701         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
8702         * lib/stdio.in.h: Likewise.
8703
8704         getcwd: minor cleanups
8705         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
8706         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
8707
8708         openat: provide more convenience names
8709         * modules/faccessat (configure.ac): Add C witness.
8710         * lib/unistd.in.h (readlinkat): Fix typo.
8711         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
8712         convenience wrappers.
8713         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
8714         wrappers in syntax checks.
8715
8716 2009-09-06  Eric Blake  <ebb9@byu.net>
8717
8718         doc: fix comments in recent patches
8719         * lib/faccessat.c: Mention correct function.
8720         * lib/fchmodat.c: Likewise.
8721         * lib/fchownat.c: Likewise.
8722         * lib/symlinkat.c: Likewise.
8723         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
8724         constants.
8725
8726         faccessat, symlinkat: continue cleanup of previous patch
8727         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
8728         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
8729         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
8730         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
8731         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
8732         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
8733         set.
8734
8735 2009-09-06  Bruno Haible  <bruno@clisp.org>
8736
8737         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
8738         (fstatat): Declare if GNULIB_FSTATAT is set.
8739         (mkdirat): Declare if GNULIB_MKDIRAT is set.
8740         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
8741         (unlinkat): Declare if GNULIB_UNLINKAT is set.
8742         * modules/fcntl-h (Files): Remove m4/openat.m4.
8743         * modules/sys_stat (Files): Remove m4/openat.m4.
8744         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
8745         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
8746         * modules/unistd (Files): Remove m4/openat.m4.
8747         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
8748         GNULIB_OPENAT.
8749         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
8750         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
8751         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
8752         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
8753         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
8754         gl_OPENAT_DEFAULTS.
8755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
8756         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
8757         Don't require gl_OPENAT_DEFAULTS.
8758         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
8759         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
8760         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
8761         (gl_OPENAT_DEFAULTS): Remove macro.
8762
8763 2009-09-06  Bruno Haible  <bruno@clisp.org>
8764
8765         * modules/openat (configure.ac): Remove unneeded witness.
8766
8767 2009-09-06  Bruno Haible  <bruno@clisp.org>
8768
8769         Set errno to ENOSYS when a function is entirely unsupported.
8770         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
8771         EOPNOTSUPP.
8772         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
8773         * modules/chown (Depends-on): Remove errno.
8774
8775 2009-09-06  Bruno Haible  <bruno@clisp.org>
8776
8777         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
8778
8779 2009-09-06  Bruno Haible  <bruno@clisp.org>
8780
8781         * lib/sys_stat.in.h: Fix preprocessor command indentation.
8782
8783 2009-09-06  Ben Pfaff  <blp@gnu.org>
8784             Bruno Haible  <bruno@clisp.org>
8785
8786         Work around a glibc bug in strtok_r.
8787         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
8788         Undefine if UNDEFINE_STRTOK_R is set.
8789         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
8790         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
8791         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
8792         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
8793         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
8794         UNDEFINE_STRTOK_R.
8795         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
8796
8797 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
8798
8799         exclude: minor fix
8800         * lib/exclude.c: Include wctype.h
8801
8802 2009-09-06  Akim Demaille  <demaille@gostai.com>
8803
8804         bootstrap: improve error message
8805         * build-aux/bootstrap (find_tool): Upon failure, report the list
8806         of candidates.
8807         Honor the initial value of the envvar.
8808
8809 2009-09-05  Eric Blake  <ebb9@byu.net>
8810
8811         symlinkat: new module
8812         * modules/symlinkat: New file.
8813         * lib/symlinkat.c: Likewise.
8814         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
8815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
8816         * modules/unistd (Makefile.am): Use them.
8817         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
8818         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
8819         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
8820         * MODULES.html.sh (File system functions): Mention module.
8821         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
8822         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8823         * modules/symlinkat-tests: New test.
8824         * tests/test-symlinkat.c: Likewise.
8825
8826         test-openat-safer: add more checks
8827         * tests/test-openat-safer.c (main): Check more code paths.
8828
8829 2009-09-05  Jim Meyering  <meyering@redhat.com>
8830
8831         syntax-check: detect unnecessary inclusion of openat.h
8832         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
8833
8834 2009-09-05  Bruno Haible  <bruno@clisp.org>
8835
8836         Support towlower, towupper.
8837         * doc/posix-functions/towlower.texi: Mention module wctype.
8838         * doc/posix-functions/towupper.texi: Likewise.
8839         * lib/wctype.in.h (towlower, towupper): New functions.
8840         * tests/test-wctype.c: Include stdio.h, stdlib.h.
8841         (ASSERT): New macro.
8842         (e): New variable.
8843         (main): Test also towlower, towupper. Test WEOF argument.
8844         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8845
8846 2009-09-05  Bruno Haible  <bruno@clisp.org>
8847
8848         Fix conversion behaviour when the input is invalid.
8849         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
8850         mark occurring in first pass of indirect conversion.
8851         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
8852         input.
8853         Found by clang's static analyzer.
8854
8855 2009-09-05  Bruno Haible  <bruno@clisp.org>
8856
8857         * tests/test-striconveh.c (main): Test indirect conversion on platforms
8858         where direct conversion is possible.
8859
8860 2009-09-04  Eric Blake  <ebb9@byu.net>
8861
8862         openat: fail with ENOENT on empty name
8863         * lib/openat-proc.c (openat_proc_name): Special-case the empty
8864         buffer.
8865
8866         link-follow: fix logic bug in prior patch
8867         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
8868         reversed sense of yes and no in prior patch.  Avoid confusing
8869         compilation failure with desired semantics.
8870
8871         link-follow: accomodate mingw and cross-compilation
8872         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
8873         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
8874         cross-compilation results to -1, to make linkat easier to
8875         implement when cross-compiling.  Trivially support mingw.
8876         * modules/link-follow (configure.ac): Call new name.
8877         * NEWS: Mention this.
8878
8879 2009-09-03  Eric Blake  <ebb9@byu.net>
8880
8881         faccessat: compile replacement
8882         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
8883         needed.
8884
8885         fts: fix compilation error
8886         * lib/fts.c (includes): Re-add "openat.h", for
8887         openat_needs_fchdir.
8888
8889         faccessat: new module
8890         * modules/faccessat: New file.
8891         * lib/faccessat.c: Likewise.
8892         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
8893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8894         * modules/unistd (Makefile.am): Use it.
8895         * lib/unistd.in.h (faccessat): Declare it.
8896         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
8897         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
8898         * MODULES.html.sh (File system functions): Mention it.
8899         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
8900         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
8901
8902         euidaccess: prefer POSIX over non-standard implementation
8903         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
8904         * lib/euidaccess.c (euidaccess): Use it if available.
8905
8906         openat: make template easier to use
8907         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
8908         AT_FUNC_F2 to be undefined.
8909         (VALIDATE_FLAG): New macro; use it to reject bad flags.
8910         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
8911         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
8912         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
8913         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
8914         Likewise.
8915         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
8916         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
8917         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
8918         Likewise.
8919
8920         openat: declare in POSIX headers
8921         * NEWS: Mention this.
8922         * modules/openat (configure.ac): Declare witnesses.
8923         (Depends-on): Add fcntl-h, sys_stat, unistd.
8924         (Include): Mention correct headers.
8925         * modules/fcntl-h (Depends-on): Add link-warning.
8926         (Files): Add openat.m4.
8927         (Makefile.am): Substitute witnesses.
8928         * modules/sys_stat (Files, Makefile.am): Likewise.
8929         * modules/unistd (Files, Makefile.am): Likewise.
8930         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
8931         (gl_OPENAT_DEFAULTS): New macro.
8932         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
8933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
8934         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
8935         (SYS_STAT_H): Remove unused variable.
8936         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
8937         * lib/fcntl--.h (includes): Remove unneeded header.
8938         * lib/openat-safer.c (includes): Likewise.
8939         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
8940         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
8941         appropriate headers.
8942         (__OPENAT_PREFIX): Delete.
8943         * lib/fcntl.in.h (openat): Provide declaration.
8944         (AT_FDCWD): Fix Solaris bug.
8945         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
8946         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
8947         * lib/fchmodat.c (includes):  Adjust to find declaration.
8948         * lib/fchownat.c (includes): Likewise.
8949         * lib/mkdirat.c (includes): Likewise.
8950         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
8951         still visible.
8952
8953 2009-09-02  Eric Blake  <ebb9@byu.net>
8954
8955         errno: use consistently
8956         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
8957         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
8958         * lib/canonicalize.c (ELOOP): Likewise.
8959         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
8960         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
8961         * lib/lchown.c (EOPNOTSUPP): Likewise.
8962         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
8963         * lib/savewd.c (ESTALE): Likewise.
8964         * lib/settime.c (ENOSYS): Likewise.
8965         * lib/utimens.c (ENOSYS): Likewise.
8966         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
8967         * lib/chdir-safer.c (ELOOP): Likewise.
8968         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
8969         * modules/c-stack (Depends-on): Add errno.
8970         * modules/canonicalize (Depends-on): Likewise.
8971         * modules/chdir-safer (Depends-on): Likewise.
8972         * modules/fdopendir (Depends-on): Likewise.
8973         * modules/inet_ntop (Depends-on): Likewise.
8974         * modules/inet_pton (Depends-on): Likewise.
8975         * modules/lchown (Depends-on): Likewise.
8976         * modules/openat (Depends-on): Likewise.
8977         * modules/savewd (Depends-on): Likewise.
8978         * modules/settime (Depends-on): Likewise.
8979         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
8980
8981         fts: avoid leaking fds
8982         * modules/fts (Depends-on): Add cloexec.
8983         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
8984         flag.
8985
8986         fts: make directory fds more robust
8987         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
8988         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
8989
8990         backupfile, chdir-long, fts, savedir: make safer
8991         * lib/backupfile.c (includes): Use "dirent--.h", since
8992         numbered_backup can write to stderr during readdir.
8993         * lib/savedir.c (includes): Likewise.
8994         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
8995         emulation can write to stderr on failure.
8996         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
8997         * lib/getcwd.c: Document why opendir_safer is unused.
8998         * lib/glob.c: Likewise.
8999         * lib/scandir.c: Likewise.
9000         * lib/openat-proc.c: Likewise, for open_safer.
9001         * modules/backupfile (Depends-on): Add dirent-safer.
9002         * modules/savedir (Depends-on): Likewise.
9003         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
9004         * modules/chdir-long (Depends-on): Add openat-safer.
9005
9006         openat-safer: new module
9007         * modules/openat-safer: New file.
9008         * lib/openat-safer.c: Likewise.
9009         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
9010         * lib/fcntl-safer.h (openat_safer): Declare.
9011         * lib/fcntl--.h (openat): Override.
9012         * MODULES.html.sh (File descriptor based I/O): Mention it.
9013         * lib/openat.h: Add double-inclusion guards.
9014         * lib/openat.c (includes): Only include "fcntl-safer.h", not
9015         "fcntl--.h", so we can implement openat.
9016         * modules/openat-safer-tests: New test.
9017         * tests/test-openat-safer.c: New file.
9018
9019         dirent-safer: new module
9020         * modules/dirent-safer: New file.
9021         * lib/dirent--.h: Likewise.
9022         * lib/dirent-safer.h: Likewise.
9023         * lib/opendir-safer.c: Likewise.
9024         * m4/dirent-safer.m4: Likewise.
9025         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
9026         * modules/dirent-safer-tests: New test.
9027         * tests/test-dirent-safer.c: New file.
9028         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
9029
9030         fdopendir: optimize on mingw
9031         * lib/unistd.in.h (_gl_directory_name): New prototype.
9032         * lib/fchdir.c (_gl_directory_name): Implement it.
9033         (fchdir): Use it to simplify implementation.
9034         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
9035         fchdir, when available, to avoid calling [f]chdir().
9036
9037         fdopendir: split into its own module
9038         * lib/openat.c (fdopendir): Move...
9039         * lib/fdopendir.c: ...into new file.
9040         * modules/fdopendir: New module.
9041         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
9042         * modules/openat (Depends-on): Add fdopendir.
9043         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
9044         fdopendir here.
9045         * modules/savedir (Depends-on): Only need fdopendir, not full
9046         openat.
9047         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
9048         * lib/openat.h (fdopendir): Drop prototype.
9049         * lib/dirent.in.h (fdopendir): Provide prototype.
9050         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
9051         * modules/dirent (Makefile.am): Substitute them.
9052         * MODULES.html.sh (File system functions): Mention it.
9053         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
9054         * modules/fdopendir-tests: New file.
9055         * tests/test-fdopendir.c: Likewise.
9056
9057         fchdir: use more consistent macro convention
9058         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
9059         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
9060         REPLACE_FCHDIR, rather than relying on config.h macros.
9061         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
9062         inside a single make-time REPLACE_FCHDIR block, rather than using
9063         the config.h FCHDIR_REPLACEMENT.
9064         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
9065         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
9066         Manage fstat replacement.
9067         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
9068         REPLACE_FCHDIR.
9069         * modules/sys_stat (Files): Add m4/unistd_h.m4.
9070         (Makefile.am): Substitute REPLACE_FCHDIR.
9071         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
9072         FCHDIR_REPLACEMENT.
9073         * lib/dup-safer.c (dup_safer): Likewise.
9074         * lib/dup2.c (rpl_dup2): Likewise.
9075         * lib/dup3.c (rpl_dup3): Likewise.
9076         * lib/open.c (rpl_open): Likewise.
9077
9078         fchdir: simplify error handling, and support dup3
9079         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
9080         stdbool, malloc-posix, realloc-posix.
9081         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
9082         (ensure_dirs_slot): Return false on allocation failure.
9083         (rpl_dup2): Delete.
9084         (_gl_register_dup): New function.
9085         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
9086         (_gl_register_fd): Close fd on allocation failure.
9087         * lib/fcntl.in.h (_gl_register_fd): Update signature.
9088         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
9089         prototype.
9090         (rpl_dup2_fchdir): Delete prototype.
9091         * lib/open.c (open): Update caller.
9092         * lib/dup2.c (dup2): Track fchdir metadata.
9093         * lib/dup3.c (dup3): Likewise.
9094         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
9095         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
9096
9097 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9098
9099         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
9100         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
9101         don't pass arguments to AC_OUTPUT.
9102
9103 2009-09-02  Bruno Haible  <bruno@clisp.org>
9104
9105         * modules/mkdtemp (License): Relicense under LGPLv2+.
9106         Reported by Paolo Bonzini.
9107
9108 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9109
9110         Replace uses of obsolete autoconf macros in Jim's modules.
9111         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
9112         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
9113         can evoke a warning from autoconf when run with -Wobsolete
9114         enabled.  They were declared obsolete for good reasons (see
9115         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
9116         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
9117         should not continue using the deprecated macros.
9118         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
9119         obsolete Autoconf macros with modern counterparts.
9120         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9121         * m4/dos.m4 (gl_AC_DOS): Likewise.
9122         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
9123         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
9124         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
9125         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
9126         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
9127         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
9128         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
9129         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
9130         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
9131         Likewise.
9132         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
9133         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
9134         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
9135         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
9136         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
9137         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
9138
9139 2009-09-01  Eric Blake  <ebb9@byu.net>
9140
9141         fchdir: fix off-by-one bug in previous patch
9142         * lib/fchdir.c (rpl_fstat): Use correct bounds.
9143         (_gl_unregister_fd): Delete useless if.
9144
9145 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
9146
9147         maint.mk: sort the list of syntax-check rules
9148         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
9149         easier to get a sense of progress when the rules are run sequentially
9150         and take a long time.
9151
9152 2009-09-01  Simon Josefsson  <simon@josefsson.org>
9153
9154         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
9155         * modules/netinet_in: Likewise.
9156         * modules/sys_file: Likewise.
9157         * modules/sys_ioctl: Likewise.
9158         * modules/sys_select: Likewise.
9159         * modules/sys_socket: Likewise.
9160         * modules/sys_stat: Likewise.
9161         * modules/sys_time: Likewise.
9162         * modules/sys_times: Likewise.
9163         * modules/sys_utsname: Likewise.
9164         * modules/sys_wait: Likewise.
9165
9166 2009-09-01  Jim Meyering  <meyering@redhat.com>
9167
9168         fts: help ensure that return values are not ignored
9169         * lib/fts_.h (__GNUC_PREREQ): Define.
9170         (__attribute_warn_unused_result__): Define.
9171         (fts_children, fts_close, fts_open, fts_read): Declare with
9172         __attribute_warn_unused_result__.
9173
9174         fts: fts_close now fails also when closing a dir file descriptor fails
9175         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
9176         and propagate to caller, along with errno.
9177
9178         announce-gen: correct formatting in --help output
9179         * build-aux/announce-gen (usage): Move the one-line description in
9180         --help output "up", to where it belongs, just after Usage:.
9181
9182 2009-08-31  Eric Blake  <ebb9@byu.net>
9183
9184         fchdir: port to mingw
9185         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
9186         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
9187         opened, then use a substitute.
9188         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
9189         replacement.
9190         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
9191         (_gl_register_fd): No need to check stat if open already filters
9192         all directories.
9193         (fchdir): Fix error condition to match POSIX.
9194         * modules/fchdir (Depends-on): Add sys_stat.
9195         * doc/posix-functions/open.texi (open): Document the limitation.
9196         * modules/fchdir-tests: New file.
9197         * tests/test-fchdir.c: Likewise.
9198
9199         canonicalize: allow cross-testing from cygwin to mingw
9200         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
9201         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
9202         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
9203         Likewise.
9204         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
9205         target does not support symlinks.
9206         * tests/test-canonicalize-lgpl.sh: Likewise.
9207
9208         chown: avoid compilation warning on mingw
9209         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
9210         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
9211         mingw.
9212         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
9213         * modules/chown (Depends-on): Add errno.
9214
9215 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
9216
9217         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
9218         command.
9219
9220 2009-08-31  Jim Meyering  <meyering@redhat.com>
9221
9222         canonicalize: remove useless initialization
9223         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
9224         initialization of local, "end".
9225
9226 2009-08-30  Bruno Haible  <bruno@clisp.org>
9227
9228         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
9229         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
9230         ENOSYS.
9231
9232 2009-08-30  Bruno Haible  <bruno@clisp.org>
9233
9234         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
9235         /usr/xpg4/bin/tr when it exists.
9236         * tests/test-pipe-filter-gi1.sh: Likewise.
9237
9238 2009-08-30  Bruno Haible  <bruno@clisp.org>
9239
9240         Work around deficient /usr/bin/id program on Solaris.
9241         * tests/test-file-has-acl.sh (ID): New variable.
9242         * tests/test-set-mode-acl.sh (ID): Likewise.
9243         * tests/test-copy-acl.sh (ID): Likewise.
9244         * tests/test-copy-file.sh (ID): Likewise.
9245
9246 2009-08-30  Bruno Haible  <bruno@clisp.org>
9247
9248         New module 'xstriconveh'.
9249         * lib/xstriconveh.h: New file.
9250         * lib/xstriconveh.c: New file.
9251         * modules/xstriconveh: New file.
9252
9253 2009-08-30  Bruno Haible  <bruno@clisp.org>
9254
9255         Make it easier to use mem_cd_iconveh.
9256         * lib/striconveh.h (iconveh_t): New type.
9257         (iconveh_open, iconveh_close): New declarations.
9258         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
9259         with a single 'const iconveh_t *' argument.
9260         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
9261         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
9262         with a single 'const iconveh_t *' argument.
9263         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
9264         * tests/test-striconveh.c (main): Update.
9265         * NEWS: Mention the change.
9266
9267 2009-08-30  Bruno Haible  <bruno@clisp.org>
9268
9269         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
9270         problem.
9271
9272 2009-08-30  Bruno Haible  <bruno@clisp.org>
9273
9274         Work around iconv_open problem on Solaris.
9275         * lib/iconv_open-solaris.gperf: New file.
9276         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
9277         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
9278         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
9279         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
9280         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
9281         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
9282
9283 2009-08-29  Jim Meyering  <meyering@redhat.com>
9284
9285         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
9286         * top/maint.mk (cvs-check): Remove target; it was just an alias
9287         to the better-named vc-diff-check.
9288         (maintainer-distcheck): Remove rule.  It was used only from
9289         the (alpha/beta/major) target, and all of its commands but one
9290         were coreutils-specific.
9291         (vc-dist): Remove rule.
9292         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
9293         Run vc-diff-check, not vc-dist.
9294         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
9295
9296 2009-08-27  Bruno Haible  <bruno@clisp.org>
9297
9298         * tests/test-bitrotate.c (main): Remove test that uses a shift count
9299         of 0.
9300
9301 2009-08-27  Bruno Haible  <bruno@clisp.org>
9302
9303         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
9304         compilers.
9305         * doc/func.texi: Document the SunPRO C bug.
9306
9307 2009-08-27  Bruno Haible  <bruno@clisp.org>
9308
9309         Fix link error on Solaris.
9310         * tests/test-parse-duration.c (xstrdup): Remove function.
9311
9312 2009-08-26  Pádraig Brady  <P@draigbrady.com>
9313
9314         ignore-value: handle pointer types, too
9315         * lib/ignore-value.h (__attribute__): Remove definition.
9316         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
9317         of a more concise and more-often effective "(void) i" statement.
9318         (ignore_ptr): New function to suppress warnings from functions that
9319         return pointers, and to make it explicit that one function doesn't
9320         handle all cases.
9321
9322 2009-08-25  Bruno Haible  <bruno@clisp.org>
9323
9324         dup2: work around a Linux bug.
9325         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
9326         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
9327         * doc/posix-functions/dup2.texi: Mention the Linux bug.
9328         Reported by Simon Josefsson.
9329
9330 2009-08-25  Jim Meyering  <meyering@redhat.com>
9331
9332         libguestfs uses gnulib
9333         * users.txt: Add libguestfs.
9334
9335 2009-08-24  Eric Blake  <ebb9@byu.net>
9336
9337         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
9338         * lib/pipe2.c (includes): Add binary-io.h.
9339         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
9340
9341 2009-08-24  Bruno Haible  <bruno@clisp.org>
9342
9343         Tolerate declared but missing accept4 syscall.
9344         * lib/accept4.c (accept4): Invoke original accept4 function first, if
9345         available.
9346         * lib/sys_socket.in.h (accept4): If the function is already present,
9347         override it.
9348         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
9349         * modules/accept4 (Makefile.am): Compile accept4.c always.
9350         Reported by Paolo Bonzini and Eric Blake.
9351
9352 2009-08-23  Bruno Haible  <bruno@clisp.org>
9353
9354         New module 'accept4'.
9355         * lib/sys_socket.in.h (accept4): New declaration.
9356         * lib/accept4.c: New file.
9357         * m4/accept4.m4: New file.
9358         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
9359         GNULIB_ACCEPT4, HAVE_ACCEPT4.
9360         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
9361         HAVE_ACCEPT4.
9362         * modules/accept4: New file.
9363         * doc/glibc-functions/accept4.texi: Mention the new module.
9364
9365 2009-08-24  Jim Meyering  <meyering@redhat.com>
9366
9367         progname: also set global program_invocation_name, when possible
9368         Before this change, a libtool-enabled program that calls glibc's
9369         error function would report the program name as
9370         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
9371         * modules/progname (configure.ac): Check for a declaration of
9372         program_invocation_name.
9373         * lib/progname.c:  Include <errno.h>.
9374         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
9375         Set program_invocation_name.
9376
9377 2009-08-23  Bruno Haible  <bruno@clisp.org>
9378
9379         * lib/dup3.c: Include <string.h>.
9380
9381 2009-08-23  Bruno Haible  <bruno@clisp.org>
9382
9383         * lib/dup3.c (dup3): Test only once whether the system actually exists.
9384         * lib/pipe2.c (pipe2): Likewise.
9385         Suggested by Eric Blake.
9386
9387 2009-08-23  Bruno Haible  <bruno@clisp.org>
9388
9389         Tolerate declared but missing dup3 syscall.
9390         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
9391         * lib/unistd.in.h (dup3): If the function is already present,
9392         override it.
9393         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
9394         * modules/dup3 (Makefile.am): Compile dup3.c always.
9395         Reported by Paolo Bonzini.
9396
9397 2009-08-23  Bruno Haible  <bruno@clisp.org>
9398
9399         Tolerate declared but missing pipe2 syscall.
9400         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
9401         available.
9402         * lib/unistd.in.h (pipe2): If the function is already present,
9403         override it.
9404         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
9405         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
9406         Reported by Paolo Bonzini.
9407
9408 2009-08-23  Bruno Haible  <bruno@clisp.org>
9409
9410         * lib/pipe2.c (pipe2): Move #ifs inside function.
9411
9412 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9413
9414         quotearg: document limitations of quote_these_too
9415         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
9416         those limitations are created.
9417         * lib/quotearg.h (set_char_quoting): Document that digits and
9418         letters that are special after backslash are not permitted.
9419         (quotearg_char): Cross-reference set_char_quoting documentation.
9420
9421 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
9422
9423         quotearg: implement custom_quoting_style
9424         * lib/quotearg.c: (struct quoting_options): Add left_quote and
9425         right_quote fields.
9426         (set_custom_quoting): New public function.
9427         (quotearg_buffer_restyled): Add left_quote and right_quote
9428         arguments, handle them very much like locale quoting, and update
9429         all uses.
9430         (quotearg_n_custom): New public function.
9431         (quotearg_n_custom_mem): New public function.
9432         (quotearg_custom): New public function.
9433         (quotearg_custom_mem): New public function.
9434         * lib/quotearg.h: Prototype and document new public functions.
9435         (enum quoting_style): For escape_quoting_style and
9436         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
9437         ignored even though they're otherwise like c_quoting_style.
9438         Add custom_quoting_style member and document with comparison to
9439         clocale_quoting_style.
9440         * tests/test-quotearg.c (custom_quotes): New array.
9441         (custom_results): New array.
9442         (main): Extend to test custom quoting.
9443
9444 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9445
9446         quotearg: fix right quote escaping when it's in quote_these_too
9447         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
9448         quote, be sure to prepend only one backslash.
9449         * tests/test-quotearg.c (use_quote_double_quotes): New function.
9450         (main): Test it.
9451
9452 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9453
9454         quotearg-tests: test escaping of embedded locale quotes
9455         * tests/test-quotearg.c (struct result_strings): Add member for
9456         new input.
9457         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
9458         (inputs): Add new input.
9459         (results_g): Add expected results.
9460         (flag_results): Likewise.
9461         (locale_results): Likewise.
9462         (compare_strings): Check those.
9463
9464 2009-08-23  Bruno Haible  <bruno@clisp.org>
9465
9466         Tests for module 'dup3'.
9467         * modules/dup3-tests: New file.
9468         * tests/test-dup3.c: New file.
9469
9470         New module 'dup3'.
9471         * lib/unistd.in.h (dup3): New declaration.
9472         * lib/dup3.c: New file.
9473         * m4/dup3.m4: New file.
9474         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
9475         HAVE_DUP3.
9476         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
9477         * modules/dup3: New file.
9478         * doc/glibc-functions/dup3.texi: Mention the new module.
9479
9480 2009-08-23  Bruno Haible  <bruno@clisp.org>
9481
9482         Tweak the dup2 test.
9483         * tests/test-dup2.c (main): Create the test file empty. Verify that an
9484         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
9485         the test file is still empty. Fix argument order of lseek.
9486
9487 2009-08-23  Bruno Haible  <bruno@clisp.org>
9488
9489         Avoid test link errors when the modules getopt-gnu, gettext are used.
9490         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
9491         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9492
9493 2009-08-23  Bruno Haible  <bruno@clisp.org>
9494
9495         Fix getdtablesize() on mingw.
9496         * lib/getdtablesize.c (getdtablesize): Implement differently.
9497         * lib/unistd.in.h (getdtablesize): Improve comment.
9498
9499 2009-08-23  Bruno Haible  <bruno@clisp.org>
9500
9501         New module 'mkostemp'.
9502         Based on Ulrich Drepper's 2007-08-10 change in glibc.
9503         * lib/stdlib.in.h (mksotemp): New declaration.
9504         * lib/mkostemp.c: New file, from glibc with modifications.
9505         * lib/tempname.h (GT_FILE): Remove outdated comment.
9506         (gen_tempname): Add flags argument.
9507         * lib/tempname.c (__GT_BIGFILE): Remove macro.
9508         (__GT_FILE): Map to 1.
9509         (small_open, large_open): Remove macros.
9510         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
9511         * lib/mkstemp.c (mkstemp): Update.
9512         * lib/mkdtemp.c (mkdtemp): Likewise.
9513         * m4/mkostemp.m4: New file.
9514         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
9515         HAVE_MKOSTEMP.
9516         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
9517         HAVE_MKOSTEMP.
9518         * modules/mkostemp: New file, based on modules/mkstemp.
9519         * doc/glibc-functions/mkostemp.texi: Mention the new module.
9520         * NEWS: Mention the change.
9521
9522 2009-08-23  Bruno Haible  <bruno@clisp.org>
9523
9524         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
9525         Reported by Eric Blake.
9526
9527 2009-08-23  Bruno Haible  <bruno@clisp.org>
9528
9529         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
9530         Reported by Eric Blake.
9531
9532 2009-08-23  Bruno Haible  <bruno@clisp.org>
9533
9534         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
9535         * modules/pipe2 (Depends-on): Likewise.
9536
9537 2009-08-23  Eric Blake  <ebb9@byu.net>
9538
9539         fcntl-h: add O_TTY_INIT support
9540         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
9541         * tests/test-fcntl-h.c (o): Test it.
9542         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9543
9544         fcntl-h: rename from fcntl, in preparation for fcntl(2)
9545         * modules/fcntl: Move <fcntl.h> header replacement...
9546         * modules/fcntl-h: ...to new name, so as not to collide with
9547         like-named function.
9548         * tests/test-fcntl.c: Rename...
9549         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
9550         * modules/fcntl-tests: Rename...
9551         * modules/fcntl-h-tests: ...to this.  Update test file name.
9552         * modules/chdir-long (Depends-on): Update clients.
9553         * modules/chdir-safer (Depends-on): Likewise.
9554         * modules/fcntl-safer (Depends-on): Likewise.
9555         * modules/fts (Depends-on): Likewise.
9556         * modules/mkancesdirs (Depends-on): Likewise.
9557         * modules/mkdir-p (Depends-on): Likewise.
9558         * modules/open (Depends-on): Likewise.
9559         * modules/savewd (Depends-on): Likewise.
9560         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
9561         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9562
9563 2009-08-22  Bruno Haible  <bruno@clisp.org>
9564
9565         * modules/binary-io (License): Relicense under LGPL.
9566         * modules/pipe2 (License): Likewise.
9567
9568 2009-08-22  Bruno Haible  <bruno@clisp.org>
9569
9570         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
9571         return value.
9572         * lib/pipe-filter-gi.c (filter_init): Likewise.
9573         Reported by Eric Blake.
9574
9575 2009-08-22  Bruno Haible  <bruno@clisp.org>
9576
9577         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
9578         * modules/pipe (Depends-on): Add pipe2.
9579
9580 2009-08-22  Bruno Haible  <bruno@clisp.org>
9581
9582         Tests for module 'pipe2'.
9583         * modules/pipe2-tests: New file.
9584         * tests/test-pipe2.c: New file.
9585
9586         New module 'pipe2'.
9587         * lib/unistd.in.h (pipe2): New declaration.
9588         * lib/pipe2.c: New file.
9589         * m4/pipe2.m4: New file.
9590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
9591         HAVE_PIPE2.
9592         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
9593         * modules/pipe2: New file.
9594         * doc/glibc-functions/pipe2.texi: Mention the new module.
9595
9596 2009-08-22  Bruno Haible  <bruno@clisp.org>
9597
9598         Reference some new glibc functions.
9599         * doc/glibc-functions/accept4.texi: New file.
9600         * doc/glibc-functions/dup3.texi: New file.
9601         * doc/glibc-functions/mkostemp.texi: New file.
9602         * doc/glibc-functions/pipe2.texi: New file.
9603         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
9604         (Glibc sys/socket.h): Refer to accept4.
9605         (Glibc unistd.h): Refer to dup3, pipe2.
9606         Reported by Eric Blake.
9607
9608 2009-08-22  Jim Meyering  <meyering@redhat.com>
9609             Bruno Haible  <bruno@clisp.org>
9610
9611         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
9612         This makes it so packages using automake-1.11's silent-rules option
9613         can print e.g., a single "GEN    configmake.h" line, rather than
9614         the 30+ statements that perform the job.  If you want to see the
9615         actual commands, you can still run "make V=1".
9616         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
9617         so that make output is abbreviated when those variables are defined
9618         appropriately.
9619         * modules/argz: Likewise.
9620         * modules/arpa_inet: Likewise.
9621         * modules/byteswap: Likewise.
9622         * modules/configmake: Likewise.
9623         * modules/dirent: Likewise.
9624         * modules/errno: Likewise.
9625         * modules/fcntl: Likewise.
9626         * modules/float: Likewise.
9627         * modules/fnmatch: Likewise.
9628         * modules/getopt-posix: Likewise.
9629         * modules/glob: Likewise.
9630         * modules/iconv_open: Likewise.
9631         * modules/inttypes: Likewise.
9632         * modules/localcharset: Likewise.
9633         * modules/locale: Likewise.
9634         * modules/math: Likewise.
9635         * modules/netdb: Likewise.
9636         * modules/netinet_in: Likewise.
9637         * modules/poll: Likewise.
9638         * modules/posix_spawnp-tests: Likewise.
9639         * modules/sched: Likewise.
9640         * modules/search: Likewise.
9641         * modules/selinux-h: Likewise.
9642         * modules/signal: Likewise.
9643         * modules/spawn: Likewise.
9644         * modules/stdarg: Likewise.
9645         * modules/stdbool: Likewise.
9646         * modules/stddef: Likewise.
9647         * modules/stdint: Likewise.
9648         * modules/stdio: Likewise.
9649         * modules/stdlib: Likewise.
9650         * modules/string: Likewise.
9651         * modules/strings: Likewise.
9652         * modules/sys_file: Likewise.
9653         * modules/sys_ioctl: Likewise.
9654         * modules/sys_select: Likewise.
9655         * modules/sys_socket: Likewise.
9656         * modules/sys_stat: Likewise.
9657         * modules/sys_time: Likewise.
9658         * modules/sys_times: Likewise.
9659         * modules/sys_utsname: Likewise.
9660         * modules/sys_wait: Likewise.
9661         * modules/sysexits: Likewise.
9662         * modules/time: Likewise.
9663         * modules/unistd: Likewise.
9664         * modules/wchar: Likewise.
9665         * modules/wctype: Likewise.
9666
9667 2009-08-22  Jim Meyering  <meyering@redhat.com>
9668
9669         announce-gen: detect write failure
9670         * build-aux/announce-gen: Add Coda at end.
9671         Remove equivalent-but-more-verbose block at top.
9672
9673 2009-08-19  Akim Demaille  <demaille@gostai.com>
9674
9675         bootstrap: --help to stdout.
9676         * bootstrap (usage): Don't send --help to stderr.
9677         Use a here doc instead of a long string.
9678
9679 2009-08-21  Eric Blake  <ebb9@byu.net>
9680
9681         test-popen-safer: split from test-popen
9682         * tests/test-popen.c (main): Move...
9683         * tests/test-popen.h: ...into new file.
9684         * tests/test-popen-safer2.c: New file.
9685         * modules/popen-tests (Files): Add test-popen.h.
9686         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
9687         Suggested by Bruno Haible.
9688
9689         test-fcntl-safer: split from test-open
9690         * tests/test-open.c (main): Move...
9691         * tests/test-open.h: ...into new file.
9692         * tests/test-fcntl-safer.c: New file.
9693         * modules/open-tests (Files): Add test-open.h.
9694         * modules/fcntl-safer-tests: New file.
9695         Suggested by Bruno Haible.
9696
9697         test-fopen-safer: split from test-fopen
9698         * tests/test-fopen.c (main): Move...
9699         * tests/test-fopen.h: ...into new file.
9700         * tests/test-fopen-safer.c: New file.
9701         * modules/fopen-tests (Files): Add test-fopen.h.
9702         * modules/fopen-safer-tests: New file.
9703         Suggested by Bruno Haible.
9704
9705 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
9706
9707         popen-safer: test O_CLOEXEC at run-time.
9708         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
9709
9710 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
9711
9712         fcntl: move more flags to the header
9713         * lib/cloexec.c: Do not define FD_CLOEXEC here.
9714         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
9715         * lib/fcntl.in.h: Do both things here.
9716
9717 2009-08-21  Jim Meyering  <meyering@redhat.com>
9718
9719         consistently remove $@-t before redirecting to it
9720         * modules/argz: Remove $@-t and $@ before redirecting to the former.
9721         * modules/alloca-opt: Likewise.
9722         * modules/byteswap: Likewise.
9723         * modules/fnmatch: Likewise.
9724         * modules/getopt-posix: Likewise.
9725         * modules/glob: Likewise.
9726         * modules/poll: Likewise.
9727         * modules/posix_spawnp-tests: Likewise.
9728         * modules/sys_socket: Likewise.
9729         * modules/sysexits: Likewise.
9730
9731 2009-08-21  Eric Blake  <ebb9@byu.net>
9732
9733         popen: simplify access to original popen
9734         * lib/popen.c (rpl_popen): No need to worry about popen being a
9735         macro.
9736         Reported by Bruno Haible.
9737
9738 2009-08-20  Eric Blake  <ebb9@byu.net>
9739
9740         build: avoid some compiler warnings
9741         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
9742         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
9743         type.
9744         (new_exclude_segment, excluded_file_pattern_p)
9745         (excluded_file_name_p): Reduce scope.
9746         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
9747         old-style declaration.
9748
9749 2009-08-20  Simon Josefsson  <simon@josefsson.org>
9750
9751         * tests/test-exclude1.sh: Handle Windows EOL.
9752         * tests/test-exclude2.sh: Likewise.
9753         * tests/test-exclude3.sh: Likewise.
9754         * tests/test-exclude4.sh: Likewise.
9755         * tests/test-exclude5.sh: Likewise.
9756         * tests/test-exclude6.sh: Likewise.
9757         * tests/test-exclude7.sh: Likewise.
9758
9759 2009-08-19  Akim Demaille  <demaille@gostai.com>
9760
9761         bootstrap: find sha1sum when named gsha1sum.
9762         * bootstrap (find_tool): New.
9763         ($SHA1SUM): New.
9764         Use it.
9765
9766 2009-08-20  Jim Meyering  <meyering@redhat.com>
9767
9768         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
9769         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
9770         expression that converts "." in a file name to "\." in the resulting
9771         regexp.  Start with a dummy statement, so that prior shell variable
9772         definitions are expanded portably.  Reported by Simon Josefsson.
9773
9774 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
9775
9776         Fix polling for writeability of a screen buffer.
9777         * lib/poll.c: Distinguish input and screen buffers for the
9778         Win32 implementation.
9779         * lib/select.c: Likewise.
9780
9781 2009-08-19  Eric Blake  <ebb9@byu.net>
9782
9783         popen-safer: prevent popen from clobbering std descriptors
9784         * modules/popen-safer: New file.
9785         * lib/popen-safer.c: Likewise.
9786         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
9787         * lib/stdio--.h (popen): Provide override.
9788         * lib/stdio-safer.h (popen_safer): Provide declaration.
9789         * tests/test-popen.c (includes): Partially test this.
9790         * modules/popen-safer-tests: New file, for more tests.
9791         * tests/test-popen-safer.c: Likewise.
9792         * MODULES.html.sh (file stream based Input/Output): Mention it.
9793
9794         tests: test some of the *-safer modules
9795         * modules/fopen-safer (Depends-on): Add fopen.
9796         * modules/fcntl-safer (Depends-on): Add fcntl.
9797         * modules/stdlib-safer (Depends-on): Add stdlib.
9798         (configure.ac): Set indicator.
9799         * modules/unistd-safer (configure.ac): Likewise.
9800         * modules/tmpfile-safer (configure.ac): Likewise.
9801         (Depends-on): Add tmpfile.
9802         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
9803         active.
9804         * tests/test-fopen.c (includes): Test safer versions when they are
9805         in use.
9806         * tests/test-open.c (includes): Likewise.
9807
9808         popen: fix cygwin 1.5 bug when stdin closed
9809         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
9810         * modules/popen: New file.
9811         * modules/popen-tests: Likewise.
9812         * tests/test-popen.c: Likewise.
9813         * m4/popen.m4: Likewise.
9814         * lib/popen.c: Likewise.
9815         * lib/stdio.in.h (popen): New declaration.
9816         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
9817         * modules/stdio (Makefile.am): Likewise.
9818         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
9819
9820 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
9821
9822         maint.mk: give full control over update-copyright exclusions
9823         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
9824         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
9825         (update-copyright): Don't force inclusion of top-level
9826         ChangeLog.  Don't force exclusion of all COPYING files, but make
9827         them the default exclusion instead.
9828
9829 2009-08-16  Bruno Haible  <bruno@clisp.org>
9830
9831         Fix test failures on Solaris 10.
9832         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
9833         tests when Solaris iconv() is used.
9834         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
9835         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
9836         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
9837         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
9838         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
9839
9840 2009-08-16  Bruno Haible  <bruno@clisp.org>
9841
9842         Fix test failures on Solaris 10.
9843         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
9844         'tr' program and pass it as first argument.
9845         * tests/test-pipe-filter-gi1.sh: Likewise.
9846         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
9847         program as first argument.
9848         * tests/test-pipe-filter-gi1.c (main): Likewise.
9849
9850 2009-08-16  Eric Blake  <ebb9@byu.net>
9851
9852         fpurge: fix previous commits
9853         * modules/fpurge (Makefile.am): Make replacement conditional,
9854         partially reverting 2007-04-29 change; missed in previous
9855         attempt.
9856         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
9857         is missing.
9858
9859 2009-08-16  Bruno Haible  <bruno@clisp.org>
9860
9861         Clarify fpurge's effect on the file position.
9862         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
9863         * tests/test-fpurge.c (main): Make a second pass for checking the file
9864         position.
9865
9866 2009-08-16  Bruno Haible  <bruno@clisp.org>
9867
9868         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
9869         declaration of fpurge is missing.
9870         * tests/test-fpurge.c (main): Check that the file has not more contents
9871         than expected. Close the file before removing it.
9872
9873 2009-08-15  Eric Blake  <ebb9@byu.net>
9874
9875         fpurge: don't wrap working cygwin implementation
9876         * lib/fpurge.c (fpurge): Fix comment typo.
9877         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
9878         1.7 to avoid replacement.
9879         * tests/test-fpurge.c (main): Enhance test.
9880
9881 2009-08-15  Eric Blake  <ebb9@byu.net>
9882         and Jim Meyering  <meyering@redhat.com>
9883
9884         test-update-copyright: skip if perl is insufficient
9885         * tests/test-update-copyright.sh: Failure to run maintainer tool
9886         should not cause testsuite failure on cygwin 1.5.
9887
9888 2009-08-14  Eric Blake  <ebb9@byu.net>
9889
9890         doc: mention more functions added in cygwin 1.7.0
9891         * doc/posix-headers/limits.texi (limits.h): Update for recent
9892         cygwin additions.
9893         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
9894         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9895         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
9896         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
9897         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
9898
9899 2009-08-14  Eric Blake  <ebb9@byu.net>
9900
9901         maint.mk: simplify update-copyright rule
9902         * top/maint.mk (update-copyright-local): Delete, and document how
9903         to do it in cfg.mk instead.
9904         (update-copyright-exclude-regexp): Delete, and document how to do
9905         it in .x-update-copyright instead.
9906         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
9907         exclude ChangeLog.
9908
9909 2009-08-14  Bruno Haible  <bruno@clisp.org>
9910
9911         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
9912
9913 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
9914
9915         maint.mk: support update-copyright-env
9916         * top/maint.mk (update-copyright-env): Define place-holder.
9917         (update-copyright): Expand $(update-copyright-env) before
9918         invoking update-copyright.
9919
9920 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
9921
9922         update-copyright: implement forced reformatting
9923         * build-aux/update-copyright: Implement and document
9924         UPDATE_COPYRIGHT_FORCE.
9925         * tests/test-update-copyright.sh: Test it.
9926
9927 2009-08-14  Eric Blake  <ebb9@byu.net>
9928         and Bruno Haible  <bruno@clisp.org>
9929
9930         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
9931         * tests/test-locale.c: Revert previous patch related to NULL.
9932         * tests/test-stdio.c: Likewise.
9933         * tests/test-stdlib.c: Likewise.
9934         * tests/test-string.c: Likewise.
9935         * tests/test-unistd.c: Likewise.
9936         * modules/time-tests (Depends-on): Add verify.
9937         * modules/wchar-tests (Depends-on): Likewise.
9938         * tests/test-time.c: Test for NULL compliance.
9939         * tests/test-wchar.c: Likewise.
9940         * modules/locale (Depends-on): Add stddef.
9941         * modules/stdio (Depends-on): Likewise.
9942         * modules/stdlib (Depends-on): Likewise.
9943         * modules/string (Depends-on): Likewise.
9944         * modules/time (Depends-on): Likewise.
9945         * modules/unistd (Depends-on): Likewise.
9946         * modules/wchar (Depends-on): Likewise.
9947         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
9948         * lib/stdlib.in.h (includes): Likewise.
9949         * lib/string.in.h (includes): Likewise.
9950         * lib/time.in.h (includes): Likewise.
9951         * lib/unistd.in.h (includes): Likewise.
9952         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
9953         replaced.
9954         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
9955         * m4/stddef_h.m4: New file.
9956         * modules/stddef: Likewise.
9957         * lib/stddef.in.h: Likewise.
9958         * modules/stddef-tests: Likewise.
9959         * tests/test-stddef.c: Likewise.
9960         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
9961         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
9962         * doc/posix-headers/locale.texi (locale.h): Likewise.
9963         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
9964         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9965         * doc/posix-headers/string.texi (string.h): Likewise.
9966         * doc/posix-headers/time.texi (time.h): Likewise.
9967         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
9968         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
9969
9970 2009-08-14  Eric Blake  <ebb9@byu.net>
9971
9972         doc: improve git diff of texinfo files
9973         * .gitattributes: Add rule for *.texi files, with hint on how to
9974         use it.
9975         Copied from m4, and based on a report by Bruno Haible.
9976
9977 2009-08-14  Bruno Haible  <bruno@clisp.org>
9978
9979         Disable multithread support by default on Cygwin 1.5.x for real.
9980         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
9981
9982 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
9983
9984         update-copyright: much ado about intervals
9985         * build-aux/update-copyright: Implement and document
9986         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
9987         of copyright year intervals.
9988         Also, document UPDATE_COPYRIGHT_YEAR.
9989         * tests/test-update-copyright.sh: Test it.
9990
9991         update-copyright: convert 2-digit to 4-digit years
9992         * build-aux/update-copyright: Implement and document.
9993         * tests/test-update-copyright.sh: Update.
9994
9995 2009-08-14  Jim Meyering  <meyering@redhat.com>
9996
9997         test-exclude: avoid coreutils "make check" failure
9998         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
9999         just as in test-argmatch.c.
10000
10001 2009-08-13  Eric Blake  <ebb9@byu.net>
10002
10003         test-dup2: fix bad assumption
10004         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
10005         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
10006
10007         test-version-etc: fix CRLF portability issue
10008         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
10009         recognize \r.
10010         * tests/test-argp-version-etc-1.sh: Likewise.
10011
10012         getopt: update client modules
10013         * modules/argp (Depends-on): Use getopt-gnu.
10014         * modules/git-merge-changelog (Depends-on): Likewise.
10015         * modules/long-options (Depends-on): Likewise.
10016         * modules/xstrtol (Depends-on): Likewise.
10017
10018 2009-08-13  Simon Josefsson  <simon@josefsson.org>
10019
10020         * tests/test-version-etc.sh: Don't fail on different
10021         project/version.  Don't fail on CRLF differences.  Rewrite to use
10022         multiple -e instead of multiple sed forks, suggested by Eric Blake
10023         <ebb9@byu.net>.
10024         * tests/test-argp-version-etc-1.sh: Likewise.
10025
10026 2009-08-13  Simon Josefsson  <simon@josefsson.org>
10027
10028         * tests/test-version-etc.sh: Don't fail on different
10029         project/version.
10030
10031 2009-08-12  Bruno Haible  <bruno@clisp.org>
10032
10033         Tests for modules 'getopt-posix', 'getopt-gnu'.
10034         * modules/getopt-posix-tests: New file.
10035         * tests/test-getopt.c: New file.
10036         * tests/test-getopt.h: New file.
10037         * tests/test-getopt_long.h: New file.
10038
10039         New modules 'getopt-posix', 'getopt-gnu'.
10040         * modules/getopt-gnu: New file, renamed from modules/getopt.
10041         * modules/getopt-posix: New file.
10042         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
10043         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
10044         (gl_GETOPT): Remove macro.
10045         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
10046         Disable the test against BSD systems that declare optreset. Test
10047         against mingw bug. Test against lack of support of optional arguments
10048         on many platforms.
10049         * doc/glibc-headers/getopt.texi: Update module name and list of
10050         relevant platforms.
10051         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
10052         'getopt-gnu' and more portability problems.
10053         * NEWS: Mention the changes.
10054
10055 2009-08-12  Bruno Haible  <bruno@clisp.org>
10056
10057         Ensure that optarg etc. get declared by <unistd.h>.
10058         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
10059         AC_USE_SYSTEM_EXTENSIONS.
10060         * modules/getopt (Depends-on): Add 'extensions'.
10061
10062 2009-08-12  Bruno Haible  <bruno@clisp.org>
10063
10064         Avoid test link errors.
10065         * modules/pipe-filter-ii-tests (Makefile.am): Define
10066         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
10067         * modules/pipe-filter-gi-tests (Makefile.am): Define
10068         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
10069         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10070
10071 2009-08-12  Bruno Haible  <bruno@clisp.org>
10072
10073         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
10074         gl_GETOPT_SUBSTITUTE before.
10075         (gl_GETOPT): Use it.
10076         * m4/argp.m4 (gl_ARGP): Update.
10077         Reported by Sergey Poznyakoff.
10078
10079         * m4/getopt.m4: Reorder macros.
10080         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
10081         (gl_GETOPT_SUBSTITUTE): Remove macro.
10082
10083 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
10084
10085         Minor improvement in gitlog-to-changelog
10086
10087         * build-aux/gitlog-to-changelog: New option `--format' makes
10088         output format string configurable.
10089
10090 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
10091
10092         Optimize exclude: use hash tables for non-wildcard patterns.
10093
10094         * lib/exclude.c: Include hash.h and mbuiter.h
10095         (struct exclude_pattern, exclude_segment): New data types.
10096         (struct exclude): Rewrite.
10097         (fnmatch_pattern_has_wildcards): New function.
10098         (new_exclude_segment, free_exclude_segment): New functions.
10099         (excluded_file_pattern_p, excluded_file_name_p): New functions.
10100         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
10101         * lib/exclude.h (is_fnmatch_pattern): New prototype.
10102         * modules/exclude: Depend on hash and mbuiter.
10103
10104         * modules/exclude-tests: New file.
10105         * tests/test-exclude.c: New file.
10106         * tests/test-exclude1.sh: New file.
10107         * tests/test-exclude2.sh: New file.
10108         * tests/test-exclude3.sh: New file.
10109         * tests/test-exclude4.sh: New file.
10110         * tests/test-exclude5.sh: New file.
10111         * tests/test-exclude6.sh: New file.
10112         * tests/test-exclude7.sh: New file.
10113
10114 2009-08-12  Bruno Haible  <bruno@clisp.org>
10115
10116         Ensure that getopt() gets declared by <unistd.h>.
10117         * lib/unistd.in.h: Conditionally include getopt.h.
10118         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
10119         Set GNULIB_UNISTD_H_GETOPT.
10120         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10121         GNULIB_UNISTD_H_GETOPT.
10122         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
10123
10124 2009-08-12  Bruno Haible  <bruno@clisp.org>
10125
10126         Clarify logic.
10127         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
10128         gl_replace_getopt instead of GETOPT_H.
10129
10130 2009-08-12  Bruno Haible  <bruno@clisp.org>
10131
10132         * m4/getopt.m4: Add comments.
10133
10134 2009-08-12  Bruno Haible  <bruno@clisp.org>
10135
10136         Disable multithread support by default on Cygwin 1.5.x.
10137         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
10138         set gl_use_threads=no if not specified otherwise.
10139
10140 2009-08-11  Bruno Haible  <bruno@clisp.org>
10141
10142         Avoid compilation error on NetBSD 5.0.
10143         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
10144         * tests/test-stdio.c: Likewise.
10145         * tests/test-stdlib.c: Likewise.
10146         * tests/test-string.c: Likewise.
10147         * tests/test-unistd.c: Likewise.
10148         Reported by Greg Troxel <gdt@ir.bbn.com>
10149         at <https://savannah.gnu.org/support/?106973>.
10150
10151 2009-08-11  Bruno Haible  <bruno@clisp.org>
10152
10153         * modules/dup2-tests (Depends-on): Remove close.
10154
10155         Undo 2009-07-19 commit.
10156         * modules/acl-tests (Depends-on): Remove close.
10157         * modules/binary-io-tests (Depends-on): Likewise.
10158         * modules/closein-tests (Depends-on): Likewise.
10159         * modules/flock-tests (Depends-on): Likewise.
10160         * modules/fsync-tests (Depends-on): Likewise.
10161         * modules/lseek-tests (Depends-on): Likewise.
10162         * modules/pipe-tests (Depends-on): Likewise.
10163         * modules/posix_spawn-tests (Depends-on): Likewise.
10164         * modules/posix_spawnp-tests (Depends-on): Likewise.
10165         * modules/stat-time-tests (Depends-on): Likewise.
10166         * modules/yesno-tests (Depends-on): Likewise.
10167
10168 2009-08-10  Bruno Haible  <bruno@clisp.org>
10169
10170         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
10171
10172 2009-08-10  Bruno Haible  <bruno@clisp.org>
10173
10174         Fix a gcc warning.
10175         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
10176
10177 2009-08-10  Bruno Haible  <bruno@clisp.org>
10178
10179         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
10180         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
10181         not only the first time.
10182         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
10183         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
10184         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
10185         is 1, not only the the first time.
10186
10187 2009-08-10  Bruno Haible  <bruno@clisp.org>
10188
10189         Make it possible to use module 'gethostname' without module 'close'.
10190         * lib/unistd.in.h (close): Evoke a link error only if
10191         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
10192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10193         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10194         * modules/unistd (Makefile.am): Substitute
10195         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10196         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
10197         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
10198         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
10199         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10200         * modules/sys_ioctl (Makefile.am): Substitute
10201         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10202         * modules/socket (configure.ac): On native Windows, set
10203         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
10204         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10205         Reported by Sam Steingold <sds@gnu.org>.
10206
10207 2009-08-10  Bruno Haible  <bruno@clisp.org>
10208
10209         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
10210         * modules/ioctl (configure.ac): Likewise.
10211
10212 2009-08-10  Bruno Haible  <bruno@clisp.org>
10213
10214         Avoid collision between gnulib wrapper and libintl wrapper.
10215         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
10216         already defined in intl/printf.c.
10217         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
10218         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
10219
10220 2009-08-09  Bruno Haible  <bruno@clisp.org>
10221
10222         Make <sys/select.h> really self-contained, also on Solaris 10.
10223         * lib/sys_select.in.h: Include <string.h>.
10224         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
10225         Solaris 10 problem.
10226         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
10227         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
10228         Reported by Jim Meyering.
10229
10230 2009-08-09  Bruno Haible  <bruno@clisp.org>
10231
10232         Avoid warnings from 'aclocal' that are due to a use of macro name
10233         AM_XGETTEXT_OPTION that is not defined in automake.
10234         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
10235         automake.
10236         * modules/error (configure.ac): Likewise.
10237         * modules/propername (configure.ac): Likewise.
10238         * modules/vasprintf (configure.ac): Likewise.
10239         * modules/verror (configure.ac): Likewise.
10240         * modules/xprintf (configure.ac): Likewise.
10241         * modules/xvasprintf (configure.ac): Likewise.
10242
10243 2009-08-08  Bruno Haible  <bruno@clisp.org>
10244
10245         Avoid compilation error in C++ mode.
10246         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
10247         Reported by Sam Steingold <sds@gnu.org>.
10248
10249 2009-08-08  Bruno Haible  <bruno@clisp.org>
10250
10251         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
10252         for the various Unix platforms.
10253         * doc/posix-headers/limits.texi: Update platforms list regarding
10254         HOST_NAME_MAX.
10255         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10256
10257 2009-08-07  Jim Meyering  <meyering@redhat.com>
10258
10259         selinux-at: fix typo in a comment
10260         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
10261         Spotted by Paolo Bonzini.
10262
10263         selinux-at: remove redundant m4 code, add documentation
10264         * modules/selinux-at (configure.ac): Remove redundant code.
10265         LIB_SELINUX is already set via the dependent module, selinux-h.
10266         (Include): Add quotes around selinux-at.h.
10267         * lib/selinux-at.h: Add documentation.
10268         Reported by Bruno Haible in
10269         http://marc.info/?l=gnulib-bug&m=124958988300749
10270
10271 2009-08-07  Bruno Haible  <bruno@clisp.org>
10272
10273         Avoid link error on MacOS X 10.3 and 10.4.
10274         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
10275         on non-ELF systems.
10276         * lib/argp-pv.c (argp_program_version): Likewise.
10277         Reported by Simon Josefsson.
10278
10279 2009-08-07  Simon Josefsson  <simon@josefsson.org>
10280
10281         * tests/test-version-etc.sh: Use $EXEEXT.
10282
10283 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
10284
10285         update-copyright: update documentation to point to maint.mk
10286         * build-aux/update-copyright: Here.
10287
10288 2009-08-06  Jim Meyering  <meyering@redhat.com>
10289
10290         maint.mk: support update-copyright-local
10291         * top/maint.mk (update-copyright-local): Define place-holder.
10292         (update-copyright): Depend on $(update-copyright-local).
10293
10294 2009-08-06  Jim Meyering  <meyering@redhat.com>
10295
10296         selinux-at: new module
10297         Initially written for coreutils, this module will soon be
10298         used by findutils, too.
10299         * MODULES.html.sh [Misc]: Add selinux-at.
10300         * lib/selinux-at.h: New file, from coreutils.
10301         * lib/selinux-at.c: Likewise.
10302         * modules/selinux-at: Likewise.
10303         (License): Change from LGPL to GPL, since it depends
10304         on the GPL'd openat module.
10305
10306         doc: update README
10307         * README: Remove references to cogito.
10308         Remove cvs-repo-updating instructions from 2007.
10309         Don't imply that CVS is better if you have limited disk space.
10310
10311 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10312
10313         update-copyright: support C-style comments
10314         * build-aux/update-copyright: Implement and document.
10315         * tests/test-update-copyright.sh: Test.
10316
10317 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10318
10319         update-copyright: support omitted "(C)"
10320         * build-aux/update-copyright: Implement and document.  Also,
10321         allow variable whitespace before "(C)".
10322         * tests/test-update-copyright.sh: Test.
10323
10324 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10325
10326         update-copyright: don't trip on non-FSF copyright statements
10327         * build-aux/update-copyright: Fix so that the first correctly
10328         formatted FSF copyright statement is recognized no matter what
10329         appears before it.  Update documentation.
10330         * tests/test-update-copyright.sh: Test that.
10331
10332 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10333
10334         update-copyright: clean up code a little
10335         * build-aux/update-copyright: Append "_re" to the name of any
10336         variable holding a regular expression.
10337         Replace "old" and "new" with "stmt" in variable names.
10338         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
10339         handled correctly.
10340         Format code more consistently.
10341
10342 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10343
10344         update-copyright-tests: improve portability
10345         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
10346         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
10347
10348 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
10349
10350         update-copyright: support @copyright{} and &copy;
10351         * build-aux/update-copyright: Implement and document.
10352         * tests/test-update-copyright.sh: Test.
10353
10354 2009-08-04  Jim Meyering  <meyering@redhat.com>
10355
10356         update-copyright-tests: correctly test EOL=\r\n handling
10357         * tests/test-update-copyright.sh: Put \r at the end of some lines
10358         for the dos-eol tests.  Based on a patch by Joel E. Denny.
10359
10360         maint.mk: make update-copyright exclusion list more configurable
10361         * top/maint.mk (update-copyright): Default to excluding COPYING,
10362         but allow an override, in case someone does want to update that file.
10363
10364         maint.mk: don't update copyright date in COPYING
10365         * top/maint.mk (update-copyright): Exclude COPYING.
10366
10367         maint.mk: add a copyright-updating rule
10368         * top/maint.mk (update-copyright): New rule.
10369         Derived from coreutils/Makefile.am.
10370
10371         update-copyright: rename some variables
10372         * build-aux/update-copyright: Rename a few variables for clarity.
10373         Tweak syntax.  List Joel E. Denny as coauthor.
10374
10375 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
10376
10377         update-copyright: fix bug for 2-digit last year and add tests
10378         * build-aux/update-copyright: Fix bug.
10379         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
10380         specified.
10381         * modules/update-copyright-tests: New
10382         * tests/test-update-copyright.sh: New.
10383
10384 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10385
10386         update-copyright: handle leading tabs in line prefix
10387         * build-aux/update-copyright: Count leading tabs as 8 spaces
10388         when computing margin.  This helps with the formatting of
10389         ChangeLogs, for example.
10390         Fix documentation a little.
10391
10392 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10393
10394         update-copyright: support EOL=\r\n
10395         * build-aux/update-copyright: Implement that.
10396
10397 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10398
10399         update-copyright: automatically format copyright statements
10400         * build-aux/update-copyright: Implement that.
10401         Also, be a little more predictable and safer by always failing
10402         when the full copyright format is not perfectly recognized as an
10403         unbroken whole.  Discussed at
10404         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
10405         Rewrite documentation.
10406
10407 2009-08-03  Bruno Haible  <bruno@clisp.org>
10408
10409         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
10410
10411 2009-08-02  Bruno Haible  <bruno@clisp.org>
10412
10413         Tests for module 'uname'.
10414         * modules/uname-tests: New file.
10415         * tests/test-uname.c: New file.
10416
10417         New module 'uname'.
10418         * lib/uname.c: New file.
10419         * m4/uname.m4: New file.
10420         * modules/uname: New file.
10421         * doc/posix-functions/uname.texi: Mention the new module.
10422
10423 2009-08-02  Bruno Haible  <bruno@clisp.org>
10424
10425         Tests for module 'sys_utsname'.
10426         * modules/sys_utsname-tests: New file.
10427         * tests/test-sys_utsname.c: New file.
10428
10429         New module 'sys_utsname'.
10430         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
10431         * m4/sys_utsname_h.m4: New file.
10432         * modules/sys_utsname: New file.
10433         * doc/posix-headers/sys_utsname.texi: Mention the new module.
10434
10435 2009-08-02  Bruno Haible  <bruno@clisp.org>
10436
10437         Implicitly initialize the sockets library.
10438         * lib/gethostname.c: Include sockets.h.
10439         (rpl_gethostname): Invoke gl_sockets_startup.
10440         * lib/socket.c: Include sockets.h.
10441         (rpl_socket): Invoke gl_sockets_startup.
10442         * modules/gethostname (Depends-on): Add sockets.
10443         * modules/socket (Depends-on): Likewise.
10444         * tests/test-poll.c: Don't include sockets.h.
10445         (main): Don't invoke gl_sockets_startup.
10446         * tests/test-select.c: Don't include sockets.h.
10447         (main): Don't invoke gl_sockets_startup.
10448
10449 2009-08-02  Bruno Haible  <bruno@clisp.org>
10450
10451         Allow multiple calls to gl_sockets_startup.
10452         * lib/sockets.c (initialized_sockets_version): New variable.
10453         (gl_sockets_startup): Do nothing if already called for this or a higher
10454         version.
10455         (gl_sockets_cleanup): Reset initialized_sockets_version.
10456
10457 2009-08-03  Simon Josefsson  <simon@josefsson.org>
10458
10459         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
10460         different project/version.
10461
10462 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
10463             Bruno Haible  <bruno@clisp.org>
10464
10465         Tests for module 'pipe-filter-gi'.
10466         * modules/pipe-filter-gi-tests: New file.
10467         * tests/test-pipe-filter-gi1.sh: New file.
10468         * tests/test-pipe-filter-gi1.c: New file.
10469         * tests/test-pipe-filter-gi2.sh: New file.
10470         * tests/test-pipe-filter-gi2-main.c: New file.
10471         * tests/test-pipe-filter-gi2-child.c: New file.
10472
10473         New module 'pipe-filter-gi'.
10474         * lib/pipe-filter-gi.c: New file.
10475         * modules/pipe-filter-gi: New file.
10476
10477 2009-08-02  Bruno Haible  <bruno@clisp.org>
10478             Paolo Bonzini  <bonzini@gnu.org>
10479
10480         Tests for module 'pipe-filter-ii'.
10481         * modules/pipe-filter-ii-tests: New file.
10482         * tests/test-pipe-filter-ii1.sh: New file.
10483         * tests/test-pipe-filter-ii1.c: New file.
10484         * tests/test-pipe-filter-ii2.sh: New file.
10485         * tests/test-pipe-filter-ii2-main.c: New file.
10486         * tests/test-pipe-filter-ii2-child.c: New file.
10487
10488         New module 'pipe-filter-ii'.
10489         * lib/pipe-filter.h: New file.
10490         * lib/pipe-filter-ii.c: New file.
10491         * lib/pipe-filter-aux.h: New file.
10492         * modules/pipe-filter-ii: New file.
10493
10494 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10495
10496         * lib/gc-libgcrypt.c: Change copyright to FSF.
10497         * lib/gc-gnulib.c: Likewise.
10498
10499 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
10500
10501         * lib/gethostname.c: Include limits.h.
10502
10503 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10504             Bruno Haible  <bruno@clisp.org>
10505
10506         Ensure HOST_NAME_MAX as part of the gethostname module.
10507         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
10508         define also HOST_NAME_MAX.
10509         * tests/test-gethostname.c: Include <limits.h>.
10510         (main): Check also HOST_NAME_MAX.
10511         * doc/posix-headers/limits.texi: Document the mingw problem.
10512
10513 2009-08-02  Bruno Haible  <bruno@clisp.org>
10514
10515         * lib/gethostname.c (gethostname): Fix handling of large len argument.
10516         Add comments.
10517
10518 2009-03-31  Simon Josefsson  <simon@josefsson.org>
10519
10520         * lib/gethostname.c: Add Windows wrapper.
10521         * m4/gethostname.m4: Look for gethostname in -lws2_32.
10522         * modules/gethostname: Depend on sys_socket & errno, for also
10523         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
10524         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
10525
10526 2009-07-31  Jim Meyering  <meyering@redhat.com>
10527
10528         getloadavg: fix symbol name in comment
10529         * lib/getloadavg.c: Correct a typo I introduced when adding
10530         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
10531         Matt Kraai spotted the problem.
10532
10533 2009-07-29  Matt Kraai  <mkraai@beckman.com>
10534
10535         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
10536         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
10537         code also if ! defined N_NAME_POINTER.
10538         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
10539         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
10540         but the n_name member is a 12-byte array.
10541
10542 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
10543
10544         update-copyright: generalize comment handling
10545         * build-aux/update-copyright: Handle copyright statements
10546         within more comment styles.
10547         Document usage.
10548         Report any file with an external copyright holder or parse failure.
10549
10550 2009-07-29  Jim Meyering  <meyering@redhat.com>
10551
10552         mktime: correct setting of REPLACE_MKTIME
10553         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
10554
10555         update-copyright: new module
10556         * modules/update-copyright: New file.
10557         * build-aux/update-copyright: New file.
10558         * MODULES.html.sh (maint+release support): Add update-copyright.
10559
10560 2009-07-27  Bruno Haible  <bruno@clisp.org>
10561
10562         Fix compilation error when <ctime> is used and mktime is replaced.
10563         * lib/time.in.h (mktime): New declaration.
10564         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
10565         REPLACE_MKTIME instead of defining mktime in config.h.
10566         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
10567         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
10568         Reported by Ross McFarland <rwmcfa1@neces.com>.
10569
10570 2009-07-27  Bruno Haible  <bruno@clisp.org>
10571
10572         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
10573         Reported by Matt Kraai <mkraai@beckman.com>.
10574
10575 2009-07-25  Jim Meyering  <meyering@redhat.com>
10576
10577         maint.mk: avoid warnings about missing files
10578         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
10579         diagnostic when .prev-version does not exist.
10580         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
10581         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
10582         nonexistent cfg.mk.
10583         Suggestions from Simon Josefsson.
10584
10585 2009-07-25  Bruno Haible  <bruno@clisp.org>
10586
10587         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
10588         defined as macros. Needed on QNX 6.4.1.
10589         Reported by Matt Kraai <mkraai@beckman.com>.
10590
10591 2009-07-23  Jim Meyering  <meyering@redhat.com>
10592
10593         maint.mk: invoke "make dist" with a working value of XZ_OPT
10594         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
10595
10596 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
10597
10598         Make fseeko.c compile on QNX.
10599         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
10600
10601 2009-07-22  Peter Simons  <simons@cryp.to>
10602
10603         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
10604         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
10605         * lib/md4.h: Likewise.
10606         * lib/md5.h: Likewise.
10607         * lib/sha1.h: Likewise.
10608         * lib/sha256.h: Likewise.
10609         * lib/sha512.h: Likewise.
10610
10611         tests-sha1: don't assign literal string to 'char *' variable
10612         * tests/test-sha1.c (main): Declare locals with "const" to match
10613         attributes of the right hand side.
10614
10615 2009-07-21  Eric Blake  <ebb9@byu.net>
10616
10617         dup2: fix more mingw problems
10618         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
10619         fd to itself.
10620         * doc/posix-functions/dup2.texi (dup2): Document the bug.
10621         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
10622         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
10623         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
10624         care of mingw bugs.
10625
10626 2009-07-21  Jim Meyering  <meyering@redhat.com>
10627
10628         vc-list-files: avoid failure when /bin/sh is dash
10629         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
10630         On some Debian based systems, /bin/sh is a symlink to dash, and running
10631         this command would omit the "/" following each 'tests' prefix:
10632           dash -x build-aux/vc-list-files -C . tests
10633         That is because bash and dash work differently:
10634           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
10635           bash ok
10636           dash odd
10637
10638 2009-07-21  Eric Blake  <ebb9@byu.net>
10639
10640         dup2-tests: test previous patch
10641         * modules/dup2-tests: New file.
10642         * tests/test-dup2.c: Likewise.
10643         * tests/test-open.c (main): Avoid unspecified behavior.
10644         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
10645         test.
10646
10647         dup2: work around mingw and cygwin 1.5 bug
10648         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
10649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10650         * modules/unistd (Makefile.am): Substitute it.
10651         * lib/unistd.in.h (dup2): Declare the replacement.
10652         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
10653         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
10654         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
10655         * modules/execute (Depends-on): Add dup2.
10656         * modules/fseterr (Depends-on): Likewise.
10657         * modules/pipe (Depends-on): Likewise.
10658         * modules/posix_spawn-internal (Depends-on): Likewise.
10659
10660 2009-07-21  Bruno Haible  <bruno@clisp.org>
10661
10662         * modules/.gitattributes: New file.
10663
10664 2009-07-20  Bruno Haible  <bruno@clisp.org>
10665
10666         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
10667         (main): Use it.
10668
10669 2009-07-20  Eric Blake  <ebb9@byu.net>
10670
10671         test-pipe: make a bit more robust.
10672         * tests/test-pipe.c (myerr): Allow error messages regardless of
10673         what we do to stderr.
10674         (test_pipe): Rearrange to avoid deadlock.
10675         (child_main): Try a larger read, to ensure we avoided deadlock.
10676         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
10677         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
10678         if misused.
10679
10680 2009-07-19  Jim Meyering  <meyering@redhat.com>
10681
10682         fts: avoid false-positive cycle-detection
10683         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
10684         for each new command line argument.
10685
10686 2009-07-19  Bruno Haible  <bruno@clisp.org>
10687
10688         Fix build error on mingw with the modules sys_select and unistd.
10689         * modules/acl-tests (Depends-on): Add close.
10690         * modules/binary-io-tests (Depends-on): Likewise.
10691         * modules/closein-tests (Depends-on): Likewise.
10692         * modules/flock-tests (Depends-on): Likewise.
10693         * modules/fsync-tests (Depends-on): Likewise.
10694         * modules/lseek-tests (Depends-on): Likewise.
10695         * modules/pipe-tests (Depends-on): Likewise.
10696         * modules/posix_spawn-tests (Depends-on): Likewise.
10697         * modules/posix_spawnp-tests (Depends-on): Likewise.
10698         * modules/stat-time-tests (Depends-on): Likewise.
10699         * modules/yesno-tests (Depends-on): Likewise.
10700
10701 2009-07-19  Bruno Haible  <bruno@clisp.org>
10702
10703         Unify conditionals.
10704         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
10705         macros, not at the compiler macros.
10706         * lib/pipe.c: Likewise.
10707         * lib/execute.c: Likewise.
10708         * lib/spawni.c: Likewise.
10709
10710 2009-07-19  Bruno Haible  <bruno@clisp.org>
10711
10712         Fix handling of closed stdin/stdout/stderr on mingw.
10713         * lib/w32spawn.h: Include unistd.h.
10714         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
10715         file descriptor with O_NOINHERIT flag.
10716         (fd_safer_noinherit): New function, based on fd-safer.c.
10717         (dup_safer_noinherit): New function, based on dup-safer.c.
10718         (undup_safer_noinherit): New function.
10719         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
10720         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
10721         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
10722         instead of fd_safer.
10723         * tests/test-pipe.c: Include <windows.h>.
10724         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
10725
10726         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
10727         from main.
10728         (test_pipe): Pass an extra argument for disambiguation.
10729         (main): Invoke parent_main or child_main.
10730
10731         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
10732         consistently.
10733
10734 2009-07-18  Eric Blake  <ebb9@byu.net>
10735
10736         test-pipe: fix mingw build
10737         * tests/test-pipe.c (main): Avoid fcntl on mingw.
10738
10739 2009-07-18  Bruno Haible  <bruno@clisp.org>
10740
10741         * modules/pipe-tests (Makefile.am): Fix typo.
10742
10743 2009-07-18  Eric Blake  <ebb9@byu.net>
10744
10745         error: fix mingw build
10746         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
10747         Reported by Bruno Haible.
10748
10749         error: avoid undefined use of stdout
10750         * lib/error.c (error, error_at_line): Check that fd 1 is open
10751         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
10752         is handling faults and the close_stdout module wants to report the
10753         detection of closed stdout as an error.
10754
10755 2009-07-17  Eric Blake  <ebb9@byu.net>
10756
10757         pipe: be robust in face of closed fds
10758         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
10759         should cause child to misbehave.
10760         * modules/pipe-tests: New module.
10761         * tests/test-pipe.c: New file.
10762         * tests/test-pipe.sh: New file.
10763         Reported by Akim Demaille.
10764
10765 2009-07-14  Bruno Haible  <bruno@clisp.org>
10766
10767         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
10768         Reported by anonymous kc.
10769
10770 2009-07-07  Jim Meyering  <meyering@redhat.com>
10771
10772         maint.mk: don't look for translatable strings in *.m4 or *.mk
10773         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
10774         when searching for translatable strings.
10775
10776 2009-07-05  Jim Meyering  <meyering@redhat.com>
10777
10778         remove superfluous parentheses in STREQ definition
10779         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
10780         * lib/getugroups.c (STREQ): Likewise.
10781         * lib/fnmatch.c (STREQ): Likewise.
10782         Spotted by Bruno Haible.
10783
10784 2009-07-04  Jim Meyering  <meyering@redhat.com>
10785
10786         argv-iter: new module
10787         * MODULES.html.sh: Add argv-iter.
10788         * lib/argv-iter.c, lib/argv-iter.h: New files.
10789         * modules/argv-iter: New file.
10790         * modules/argv-iter-tests: New file.
10791         * tests/test-argv-iter.c: Test it.
10792
10793 2009-07-04  Bruno Haible  <bruno@clisp.org>
10794
10795         Fix assertion.
10796         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
10797         contains more exact copies of a given entry than file2, leave the extra
10798         copies unpaired rather than aborting.
10799         Reported by Eric Blake.
10800
10801 2009-07-02  Bruno Haible  <bruno@clisp.org>
10802
10803         Speedup git-merge-changelog for git cherry-pick.
10804         * lib/git-merge-changelog.c (struct entries_mapping): New type.
10805         (entries_mapping_get): New function, extracted from compute_mapping.
10806         (entries_mapping_reverse_get): New function.
10807         (compute_mapping): Add a 'full' argument. Return the result in a
10808         'struct entries_mapping'.
10809         (main): Update. Access the mappings through entries_mapping_get.
10810         Reported by Eric Blake.
10811
10812 2009-07-02  Bruno Haible  <bruno@clisp.org>
10813
10814         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
10815         best_i.
10816
10817 2009-07-02  Bruno Haible  <bruno@clisp.org>
10818
10819         Speed up approximate search for matching ChangeLog entries.
10820         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
10821         argument. Call fstrcmp_bounded instead of fstrcmp.
10822         (compute_mapping, try_split_merged_entry, main): Update callers.
10823
10824 2009-07-02  Bruno Haible  <bruno@clisp.org>
10825
10826         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
10827
10828 2009-06-30  Bruno Haible  <bruno@clisp.org>
10829
10830         Reduce the number of uc_is_cased calls.
10831         * lib/unicase.h (casing_suffix_context_t): Add
10832         'first_char_except_ignorable' field.
10833         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
10834         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
10835         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
10836         Update initializer.
10837         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
10838         case-ignorable characters.
10839         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
10840         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
10841         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
10842         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
10843         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
10844
10845 2009-06-30  Bruno Haible  <bruno@clisp.org>
10846
10847         Tests for module 'unicase/ignorable'.
10848         * modules/unicase/ignorable-tests: New file.
10849         * tests/unicase/test-ignorable.c: New file, generated by
10850         gen-uni-tables.
10851
10852         Tests for module 'unicase/cased'.
10853         * modules/unicase/cased-tests: New file.
10854         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
10855         * tests/unicase/test-predicate-part1.h: New file, derived from
10856         tests/unictype/test-predicate-part1.h.
10857         * tests/unicase/test-predicate-part2.h: New file, same as
10858         tests/unictype/test-predicate-part2.h.
10859
10860         Fix evaluation of "Before C" condition of FINAL_SIGMA.
10861         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
10862         (output_casing_properties): New function.
10863         (main): Call it.
10864         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
10865         * lib/unicase/cased.c: Include unictype/bitmap.h.
10866         (uc_is_cased): Define through a bitmap lookup.
10867         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
10868         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
10869         (uc_is_case_ignorable): Define through a bitmap lookup.
10870         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
10871         lib/unictype/bitmap.h.
10872         (Depends-on): Add inline. Clean up.
10873         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
10874         lib/unictype/bitmap.h.
10875         (Depends-on): Add inline. Clean up.
10876         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
10877         recognition.
10878         * tests/unicase/test-u16-tolower.c (main): Likewise.
10879         * tests/unicase/test-u32-tolower.c (main): Likewise.
10880
10881 2009-06-30  Bruno Haible  <bruno@clisp.org>
10882
10883         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
10884         * lib/unicase/u16-casemap.c: Likewise.
10885         * lib/unicase/u32-casemap.c: Likewise.
10886
10887 2009-06-29  Bruno Haible  <bruno@clisp.org>
10888
10889         Define u32_casefold as a wrapper around u32_ct_casefold.
10890         * lib/unicase/u32-casefold.c: Update.
10891         * modules/unicase/u32-casefold (Depends-on): Add
10892         unicase/u32-ct-casefold, unicase/empty-prefix-context,
10893         unicase/empty-suffix-context. Clean up.
10894
10895         Define u16_casefold as a wrapper around u16_ct_casefold.
10896         * lib/unicase/u16-casefold.c: Update.
10897         * modules/unicase/u16-casefold (Depends-on): Add
10898         unicase/u16-ct-casefold, unicase/empty-prefix-context,
10899         unicase/empty-suffix-context. Clean up.
10900
10901         Define u8_casefold as a wrapper around u8_ct_casefold.
10902         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
10903         * lib/unicase/u8-casefold.c: Update.
10904         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
10905         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10906
10907         Define u32_totitle as a wrapper around u32_ct_totitle.
10908         * lib/unicase/u32-totitle.c: Update.
10909         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
10910         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10911
10912         Define u16_totitle as a wrapper around u16_ct_totitle.
10913         * lib/unicase/u16-totitle.c: Update.
10914         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
10915         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10916
10917         Define u8_totitle as a wrapper around u8_ct_totitle.
10918         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
10919         functions.
10920         (FUNC): Delegate to U_CT_TOTITLE.
10921         * lib/unicase/u8-totitle.c: Update.
10922         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
10923         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10924
10925         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
10926         invocation.
10927         * modules/unicase/u32-tolower (Depends-on): Add
10928         unicase/empty-prefix-context, unicase/empty-suffix-context.
10929
10930         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
10931         invocation.
10932         * modules/unicase/u16-tolower (Depends-on): Add
10933         unicase/empty-prefix-context, unicase/empty-suffix-context.
10934
10935         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
10936         * modules/unicase/u8-tolower (Depends-on): Add
10937         unicase/empty-prefix-context, unicase/empty-suffix-context.
10938
10939         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
10940         invocation.
10941         * modules/unicase/u32-toupper (Depends-on): Add
10942         unicase/empty-prefix-context, unicase/empty-suffix-context.
10943
10944         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
10945         invocation.
10946         * modules/unicase/u16-toupper (Depends-on): Add
10947         unicase/empty-prefix-context, unicase/empty-suffix-context.
10948
10949         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
10950         * modules/unicase/u8-toupper (Depends-on): Add
10951         unicase/empty-prefix-context, unicase/empty-suffix-context.
10952
10953         New module 'unicase/u32-ct-casefold'.
10954         * lib/unicase/u32-ct-casefold.c: New file.
10955         * modules/unicase/u32-ct-casefold: New file.
10956
10957         New module 'unicase/u16-ct-casefold'.
10958         * lib/unicase/u16-ct-casefold.c: New file.
10959         * modules/unicase/u16-ct-casefold: New file.
10960
10961         New module 'unicase/u8-ct-casefold'.
10962         * lib/unicase/u8-ct-casefold.c: New file.
10963         * lib/unicase/u-ct-casefold.h: New file, derived from
10964         lib/unicase/u-casefold.h.
10965         * modules/unicase/u8-ct-casefold: New file.
10966
10967         New module 'unicase/u32-ct-totitle'.
10968         * lib/unicase/u32-ct-totitle.c: New file.
10969         * modules/unicase/u32-ct-totitle: New file.
10970
10971         New module 'unicase/u16-ct-totitle'.
10972         * lib/unicase/u16-ct-totitle.c: New file.
10973         * modules/unicase/u16-ct-totitle: New file.
10974
10975         New module 'unicase/u8-ct-totitle'.
10976         * lib/unicase/u8-ct-totitle.c: New file.
10977         * lib/unicase/u-ct-totitle.h: New file, derived from
10978         lib/unicase/u-totitle.h.
10979         * modules/unicase/u8-ct-totitle: New file.
10980
10981         New module 'unicase/u32-ct-tolower'.
10982         * lib/unicase/u32-ct-tolower.c: New file.
10983         * modules/unicase/u32-ct-tolower: New file.
10984
10985         New module 'unicase/u16-ct-tolower'.
10986         * lib/unicase/u16-ct-tolower.c: New file.
10987         * modules/unicase/u16-ct-tolower: New file.
10988
10989         New module 'unicase/u8-ct-tolower'.
10990         * lib/unicase/u8-ct-tolower.c: New file.
10991         * modules/unicase/u8-ct-tolower: New file.
10992
10993         New module 'unicase/u32-ct-toupper'.
10994         * lib/unicase/u32-ct-toupper.c: New file.
10995         * modules/unicase/u32-ct-toupper: New file.
10996
10997         New module 'unicase/u16-ct-toupper'.
10998         * lib/unicase/u16-ct-toupper.c: New file.
10999         * modules/unicase/u16-ct-toupper: New file.
11000
11001         New module 'unicase/u8-ct-toupper'.
11002         * lib/unicase/u8-ct-toupper.c: New file.
11003         * modules/unicase/u8-ct-toupper: New file.
11004
11005         Add context arguments to u*_casemap functions.
11006         * lib/unicase/unicasemap.h: Include unicase.h.
11007         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
11008         suffix_context arguments.
11009         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
11010         functions.
11011         (FUNC): Add prefix_context and suffix_context arguments. Use
11012         uc_is_cased and uc_is_case_ignorable.
11013         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
11014         * lib/unicase/u16-casemap.c: Likewise.
11015         * lib/unicase/u32-casemap.c: Likewise.
11016         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
11017         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
11018         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
11019         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
11020         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
11021         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
11022
11023         New module 'unicase/u32-suffix-context'.
11024         * lib/unicase/u32-suffix-context.c: New file.
11025         * modules/unicase/u32-suffix-context: New file.
11026
11027         New module 'unicase/u16-suffix-context'.
11028         * lib/unicase/u16-suffix-context.c: New file.
11029         * modules/unicase/u16-suffix-context: New file.
11030
11031         New module 'unicase/u8-suffix-context'.
11032         * lib/unicase/u8-suffix-context.c: New file.
11033         * lib/unicase/u-suffix-context.h: New file.
11034         * modules/unicase/u8-suffix-context: New file.
11035
11036         New module 'unicase/empty-suffix-context'.
11037         * lib/unicase/empty-suffix-context.c: New file.
11038         * modules/unicase/empty-suffix-context: New file.
11039
11040         New module 'unicase/u32-prefix-context'.
11041         * lib/unicase/u32-prefix-context.c: New file.
11042         * modules/unicase/u32-prefix-context: New file.
11043
11044         New module 'unicase/u16-prefix-context'.
11045         * lib/unicase/u16-prefix-context.c: New file.
11046         * modules/unicase/u16-prefix-context: New file.
11047
11048         New module 'unicase/u8-prefix-context'.
11049         * lib/unicase/u8-prefix-context.c: New file.
11050         * lib/unicase/u-prefix-context.h: New file.
11051         * lib/unicase/context.h: New file.
11052         * modules/unicase/u8-prefix-context: New file.
11053
11054         New module 'unicase/empty-prefix-context'.
11055         * lib/unicase/empty-prefix-context.c: New file.
11056         * modules/unicase/empty-prefix-context: New file.
11057
11058         New module 'unicase/ignorable'.
11059         * lib/unicase/ignorable.c: New file.
11060         * modules/unicase/ignorable: New file.
11061
11062         New module 'unicase/cased'.
11063         * lib/unicase/caseprop.h: New file.
11064         * lib/unicase/cased.c: New file.
11065         * modules/unicase/cased: New file.
11066
11067         New functions for case mapping of substrings.
11068         * lib/unicase.h (casing_prefix_context_t): New type.
11069         (unicase_empty_prefix_context): New variable.
11070         (u8_casing_prefix_context, u16_casing_prefix_context,
11071         u32_casing_prefix_context, u8_casing_prefixes_context,
11072         u16_casing_prefixes_context, u32_casing_prefixes_context): New
11073         declarations.
11074         (casing_suffix_context_t): New type.
11075         (unicase_empty_suffix_context): New variable.
11076         (u8_casing_suffix_context, u16_casing_suffix_context,
11077         u32_casing_suffix_context, u8_casing_suffixes_context,
11078         u16_casing_suffixes_context, u32_casing_suffixes_context,
11079         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
11080         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
11081         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
11082         declarations.
11083
11084 2009-06-28  Jim Meyering  <meyering@redhat.com>
11085
11086         boostrap: indent only with spaces
11087         * build-aux/bootstrap: Indent only with spaces, never TABs.
11088
11089         bootstrap: split long lines
11090         * build-aux/bootstrap: Keep line length < 80.
11091
11092         bootstrap: sync from coreutils
11093         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
11094         just as autoreconf does.  Verify a list of prerequisite
11095         package-name,version-number pairs if defined in bootstrap.conf.
11096         Refer to README-prereq, if prerequisites are not satisfied.
11097
11098 2009-06-27  Eric Blake  <ebb9@byu.net>
11099
11100         tests: add test for bogus NULL definition
11101         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
11102         * tests/test-stdlib.c: Likewise.
11103         * tests/test-string.c: Likewise.
11104         * tests/test-locale.c: Likewise.
11105         * tests/test-unistd.c: Likewise.
11106         * modules/stdio-tests (Depends-on): Add verify.
11107         * modules/stdlib-tests (Depends-on): Likewise.
11108         * modules/string-tests (Depends-on): Likewise.
11109         * modules/locale-tests (Depends-on): Likewise.
11110         * modules/unistd-tests (Depends-on): Likewise.
11111
11112 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
11113
11114         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
11115         self-explaining comment.
11116         * m4/selinux-selinux-h: Update serial.
11117         (gl_LIBSELINUX): New macro, adding a warning for missing development
11118         packages to code extracted from...
11119         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
11120         Add warning for missing development packages here, too.
11121
11122 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
11123
11124         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
11125
11126 2009-06-25  Eric Blake  <ebb9@byu.net>
11127
11128         version-etc: fix regression
11129         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
11130         gcc.
11131         (version_etc): Use it, to catch bugs with trailing NULL.
11132         * lib/version-etc.c (version_etc_arn): Delete unused argument.
11133         (version_etc_va): Fix logic bug.
11134         * modules/version-etc-tests: Add test.
11135         * tests/test-version-etc.c: New file.
11136         * tests/test-version-etc.sh: Likewise.
11137
11138 2009-06-25  Sam Steingold  <sds@gnu.org>
11139
11140         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
11141         mbtowc declaration.
11142
11143 2009-06-25  Eric Blake  <ebb9@byu.net>
11144
11145         fpurge: migrate into <stdio.h>
11146         * lib/fpurge.h: Delete...
11147         * lib/stdio.in.h (fpurge): ...and declare here, instead.
11148         * lib/fpurge.c (fpurge): Change declaring header.
11149         * modules/fpurge (Files): Drop deleted file.
11150         (Depends-on): Add stdio.
11151         (configure.ac): Set witness.
11152         * modules/stdio (Makefile.am): Support fpurge macros.
11153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11154         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
11155         * lib/fflush.c: Update client.
11156         * tests/test-fpurge.c: Likewise.
11157         * NEWS: Mention the change.
11158
11159 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11160
11161         * lib/argp-version-etc.c (program_authors): Add const
11162         qualifier.
11163         * lib/version-etc.c: Fix typos in the comments.
11164         * modules/argp-version-etc: Depends on version-etc.
11165
11166 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11167
11168         argp-version-etc: new module.
11169
11170         * lib/argp-version-etc.c: New file.
11171         * lib/argp-version-etc.h: New file.
11172         * modules/argp-version-etc: New file.
11173         * modules/argp-version-etc-tests: New file.
11174         * tests/test-argp-version-etc.c: New test.
11175         * tests/test-argp-version-etc-1.sh: New test.
11176
11177 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11178
11179         Provide additional interfaces and documentation for version-etc
11180         module.
11181
11182         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
11183         interfaces.
11184         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
11185         prototypes.
11186
11187 2009-06-24  Bruno Haible  <bruno@clisp.org>
11188
11189         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
11190         HAVE_LIB${NAME} macro.
11191         Reported by Sam Steingold <sds@gnu.org>.
11192
11193 2009-06-23  Simon Josefsson  <simon@josefsson.org>
11194
11195         * modules/hash-tests (test_hash_LDADD): Link to libintl when
11196         needed.
11197
11198 2009-06-21  Bruno Haible  <bruno@clisp.org>
11199
11200         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
11201         work.
11202         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
11203         together with LIB${NAME}, LTLIB${NAME}.
11204         Reported by Sam Steingold <sds@gnu.org>.
11205
11206 2009-06-20  Jim Meyering  <meyering@redhat.com>
11207
11208         tests: make sc_require_test_exit_idiom more generic
11209         * top/maint.mk (Exit_witness_file): New overridable variable.
11210         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
11211         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
11212
11213 2009-06-19  Jim Meyering  <meyering@redhat.com>
11214
11215         hash: reverse order of src/dst parameters in an internal interface
11216         * lib/hash.c (transfer_entries): Reverse order of parameters to
11217         put DST before SRC.  Adjust callers.
11218
11219         tests: test-hash: avoid wholesale duplication
11220         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
11221         Instead, use a loop and add a single conditional.
11222
11223         tests: test-hash: allow seed selection via a command line argument
11224         * tests/test-hash.c (get_seed): New function.
11225         (main): Use it.
11226
11227 2009-06-19  Eric Blake  <ebb9@byu.net>
11228
11229         hash: avoid memory leak on allocation failure
11230         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
11231         failure.  Factor repeated algorithm...
11232         (transfer_entries): ...into new helper routine.
11233         (hash_delete): React to hash_rehash return value.
11234
11235         hash: reduce memory pressure in hash_rehash no-op case
11236         * lib/hash.c (next_prime): Avoid overflow.
11237         (hash_initialize): Factor bucket size computation...
11238         (compute_bucket_size): ...into new helper function.
11239         (hash_rehash): Use new function and open coding to reduce memory
11240         pressure, and avoid a memory leak in USE_OBSTACK code.
11241         Reported by Jim Meyering.
11242
11243 2009-06-18  Eric Blake  <ebb9@byu.net>
11244
11245         hash: make rotation more obvious
11246         * modules/hash (Depends-on): Add bitrotate and stdint.
11247         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
11248         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
11249         (SIZE_MAX): Rely on headers for definition.
11250         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
11251         (raw_hasher): Use rotr_sz.
11252         Suggested by Jim Meyering.
11253
11254         hash: fix memory leak in last patch
11255         * lib/hash.c (hash_rehash): Avoid memory leak.
11256
11257         hash: avoid no-op rehashing
11258         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
11259
11260         hash: provide default callback functions
11261         * lib/hash.c (raw_hasher, raw_comparator): New functions.
11262         (hash_initialize): Use them as defaults.
11263         * tests/test-hash.c (main): Test this.
11264
11265         hash: minor optimization
11266         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
11267         when possible.
11268         (hash_initialize): Document this promise.
11269         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
11270         * tests/test-hash.c (hash_compare_strings): Test this.
11271
11272 2009-06-18  Bruno Haible  <bruno@clisp.org>
11273
11274         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
11275         going to be replaced anyway.
11276
11277 2009-06-18  Bruno Haible  <bruno@clisp.org>
11278
11279         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
11280         in one place.
11281         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
11282         be replaced anyway.
11283
11284 2009-06-18  Eric Blake  <ebb9@byu.net>
11285
11286         hash: check for resize before insertion
11287         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
11288         threshold before insertion, so that a pathological hash_rehash
11289         that fills every bucket can still trigger another rehash.
11290
11291 2009-06-18  Jim Meyering  <meyering@redhat.com>
11292
11293         hash-tests: add a loop around the small tests
11294         * tests/test-hash.c (main): Repeat small tests with selected
11295         small initial table sizes.
11296
11297 2009-06-17  Eric Blake  <ebb9@byu.net>
11298
11299         hash: minor cleanups
11300         * lib/hash.h (hash_entry): Make opaque, by moving...
11301         * lib/hash.c (hash_entry): ...here.
11302         (hash_insert): Clarify restrictions on what can be inserted.
11303         (hash_get_next): Clarify when it is safe to remove an element
11304         during traversal.
11305         (check_tuning): Skip verification when tuning is known safe.
11306         (hash_initialize): Clarify restrictions on tuning.
11307
11308 2009-06-17  Jim Meyering  <jim@meyering.net>
11309         and Eric Blake  <ebb9@byu.net>
11310
11311         hash-tests: new module
11312         * modules/hash-tests: New file.
11313         * tests/test-hash.c: New file.
11314
11315 2009-06-17  Eric Blake  <ebb9@byu.net>
11316
11317         strstr-simple: document new module
11318         * MODULES.html.sh: Document new module.
11319
11320         strstr, strcasestr: replace on platforms with broken memchr
11321         * modules/strstr: Split into...
11322         * modules/strstr-simple: ...new module that does not care about
11323         performance, but does care about glibc bug.
11324         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
11325         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
11326         if platform memchr is broken, per Debian bug 521737.
11327         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
11328         memchr.
11329         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
11330         * doc/posix-functions/strstr.texi (strstr): Document the fix.
11331         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
11332         * modules/mountlist (Depends-on): Add strstr-simple.
11333         * modules/gen-uni-tables (Depends-on): Likewise.
11334         * modules/argz (Depends-on): Add strstr.
11335
11336 2009-06-17  Bruno Haible  <bruno@clisp.org>
11337
11338         * modules/posix_spawn-internal (Depends-on): Add errno.
11339
11340 2009-06-17  Bruno Haible  <bruno@clisp.org>
11341
11342         Define missing ESTALE on Interix 3.5.
11343         * lib/errno.in.h (ESTALE): Assign a value if missing.
11344         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
11345         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
11346         missing.
11347         * doc/posix-headers/errno.texi: Mention the Interix bug.
11348         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
11349
11350 2009-06-15  Eric Blake  <ebb9@byu.net>
11351
11352         memchr, memchr2: add valgrind exception
11353         * lib/memchr.valgrind: New file.
11354         * lib/memchr2.valgrind: New file.
11355         * modules/memchr (Files): Distribute valgrind file.
11356         * modules/memchr2 (Files): Likewise.
11357
11358         docs: memchr is no longer obsolete
11359         * MODULES.html.sh: Move memchr from obsolete to string.h section.
11360         * lib/string.in.h (memchr): Simplify logic.
11361
11362 2009-06-14  Jim Meyering  <meyering@redhat.com>
11363
11364         link-follow: fix the "checking..." message to not mention trailing slash
11365         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
11366         never considered trailing slashes.
11367
11368 2009-06-14  Bruno Haible  <bruno@clisp.org>
11369
11370         * m4/memchr.m4: Mention also the bug on IA-64.
11371         * doc/posix-functions/memchr.texi: Likewise.
11372
11373 2009-06-12  Eric Blake  <ebb9@byu.net>
11374
11375         memchr: detect broken x86_64 and alpha implementations
11376         * modules/memchr-tests (Depends-on): Move mmap detection...
11377         * modules/memchr (Depends-on): ...here.
11378         (configure.ac): Set indicator.
11379         * lib/string.in.h (memchr): Declare replacement.
11380         * modules/string (Makefile.am): Trigger replacement.
11381         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
11382         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
11383         bugs.
11384         * doc/posix-functions/memchr.texi (memchr): Document the bug.
11385         * modules/getpagesize (License): Relax license.
11386
11387 2009-06-11  Bruno Haible  <bruno@clisp.org>
11388
11389         * lib/idpriv.h: Add more references.
11390
11391 2009-06-08  Bruno Haible  <bruno@clisp.org>
11392
11393         Tests for module 'idpriv-droptemp'.
11394         * modules/idpriv-droptemp-tests: New file.
11395         * tests/test-idpriv-droptemp.sh: New file.
11396         * tests/test-idpriv-droptemp.su.sh: New file.
11397         * tests/test-idpriv-droptemp.c: New file.
11398
11399         New module 'idpriv-droptemp'.
11400         * lib/idpriv-droptemp.c: New file.
11401         * modules/idpriv-droptemp: New file.
11402
11403 2009-06-08  Bruno Haible  <bruno@clisp.org>
11404
11405         Tests for module 'idpriv-drop'.
11406         * modules/idpriv-drop-tests: New file.
11407         * tests/test-idpriv-drop.sh: New file.
11408         * tests/test-idpriv-drop.su.sh: New file.
11409         * tests/test-idpriv-drop.c: New file.
11410
11411         New module 'idpriv-drop'.
11412         * lib/idpriv.h: New file.
11413         * lib-idpriv-drop.c: New file.
11414         * m4/idpriv.m4: New file.
11415         * modules/idpriv-drop: New file.
11416
11417 2009-06-08  Bruno Haible  <bruno@clisp.org>
11418
11419         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
11420         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
11421         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
11422         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
11423         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
11424         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
11425         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
11426
11427 2009-06-08  Eric Blake  <ebb9@byu.net>
11428
11429         test-strstr: use memory fence, when possible
11430         * tests/test-strstr.c (main): Use memory fence, in order to be
11431         more likely to trigger Debian bug 521737.
11432         * modules/strstr-tests (Files): Pull in additional files.
11433
11434         memchr: no longer obsolete, for wider field testing
11435         * modules/memchr (Status, Notice): Delete, this module is no
11436         longer obsolete.
11437         * modules/vasnprintf (Depends-on): Add memchr.
11438
11439 2009-06-07  Jim Meyering  <meyering@redhat.com>
11440
11441         hash: declare some functions with the warn_unused_result attribute
11442         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
11443
11444 2009-06-07  Bruno Haible  <bruno@clisp.org>
11445
11446         * tests/test-alignof.c: Don't test int64_t if it does not exist.
11447         Reported by Eric Blake.
11448
11449 2009-06-06  Eric Blake  <ebb9@byu.net>
11450
11451         test-alignof: fix typo with long double
11452         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
11453         compiler error.
11454
11455 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
11456
11457         Escape non-texinfo { and }s.
11458         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
11459         markup error.
11460
11461 2009-06-04  Jim Meyering  <meyering@redhat.com>
11462
11463         gitlog-to-changelog: don't infloop on an empty commit log
11464         * build-aux/gitlog-to-changelog: Warn about an empty log message.
11465         Reported by Boris Petersen <transacid@centerim.org>.
11466
11467 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
11468
11469         version-etc: extend for packagers
11470         Add three new configure options, intended for packagers:
11471           --with-packager="packager name"
11472           --with-packager-version="packager-specific version"
11473           --with-packager-bug-reports="packager bug reporting"
11474         An example with coreutils:
11475           $ ./configure \
11476             --with-packager=Gentoo \
11477             --with-packager-bug-report=http://bugs.gentoo.org/ \
11478             --with-packager-version="patchset 1.6"
11479           $ ./src/ls --version | head -n2
11480           ls (GNU coreutils) 7.1-dirty
11481           Packaged by Gentoo (patchset 1.6)
11482         Note that the bug reporting info via --help doesn't show up because
11483         coreutils uses its own custom emit_bug_reporting_address() implementation
11484         in src/system.h.  If it didn't, it'd look like:
11485           $ ./src/ls --help | tail -n4
11486           Report bugs to <bug-coreutils@gnu.org>.
11487           Report Gentoo bugs to <http://bugs.gentoo.org/>.
11488           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
11489           General help using GNU software: <http://www.gnu.org/gethelp/>.
11490         * lib/version-etc.c: Print new information, if provided.
11491         * m4/version-etc.m4: New file.
11492         * modules/version-etc (Files): Add m4/version-etc.m4.
11493         (configure.ac): Add gl_VERSION_ETC.
11494
11495 2009-05-31  Bruno Haible  <bruno@clisp.org>
11496
11497         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
11498         and 'int64_t'.
11499         * modules/alignof-tests (Dependencies): Add stdint.
11500         Reported by Eric Blake.
11501
11502 2009-05-31  Bruno Haible  <bruno@clisp.org>
11503
11504         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
11505         restriction due to compiler bugs.
11506         Reported by Eric Blake.
11507
11508 2009-05-31  Simon Josefsson  <simon@josefsson.org>
11509             Bruno Haible  <bruno@clisp.org>
11510
11511         Fix test-alignof failure.
11512         * lib/alignof.h (alignof_slot): New macro.
11513         (alignof_type): New macro, with the same semantics as the previous
11514         'alignof'.
11515         (alignof): Alias to alignof_slot.
11516         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
11517         check that the results are usable as constant expressions.
11518
11519 2009-05-31  Bruno Haible  <bruno@clisp.org>
11520
11521         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
11522         * tests/test-memchr.c (main): Check that memchr does not read past the
11523         first occurrence of the byte.
11524         * tests/test-strstr.c (main): Update comment.
11525         Suggested by Eric Blake.
11526
11527 2009-05-30  Bruno Haible  <bruno@clisp.org>
11528
11529         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
11530         detail how to use dumpbin.
11531         Reported by David Byron <dbyron@dbyron.com>.
11532
11533 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11534
11535         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
11536
11537 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11538
11539         * m4/manywarnings.m4: Add GCC 4.4 warnings.
11540
11541 2009-05-28  Bruno Haible  <bruno@clisp.org>
11542
11543         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
11544         build-aux/ files.
11545
11546 2009-05-28  Simon Josefsson  <simon@josefsson.org>
11547
11548         * gnulib-tool (func_import): Transform license on build-aux/ files too.
11549
11550 2009-05-27  Simon Josefsson  <simon@josefsson.org>
11551
11552         * gnulib-tool (sed_transform_main_lib_file)
11553         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
11554         regexps.
11555
11556 2009-05-26  Simon Josefsson  <simon@josefsson.org>
11557
11558         * tests/test-strstr.c: Add another self-test.
11559         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
11560         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
11561
11562 2009-05-23  Bruno Haible  <bruno@clisp.org>
11563
11564         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
11565         change.
11566
11567 2009-05-21  Bruno Haible  <bruno@clisp.org>
11568
11569         Simplify use of mode_t varargs.
11570         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
11571         uses 'mode_t' or 'int'.
11572         * lib/openat.c (openat): Likewise.
11573         * lib/open-safer.c (open_safer): Likewise.
11574         * m4/mode_t.m4: New file.
11575         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
11576         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
11577         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
11578         * modules/open (Files): Add m4/mode_t.m4.
11579         * modules/openat (Files): Likewise.
11580         * modules/fcntl-safer (Files): Likewise.
11581         Suggested by Eric Blake.
11582
11583 2009-05-21  Pádraig Brady  <P@draigbrady.com>
11584
11585         * doc/glibc-functions/fallocate.texi: New file.
11586         * doc/gnulib.texi: Include it.
11587
11588 2009-05-21  Eric Blake  <ebb9@byu.net>
11589             Bruno Haible  <bruno@clisp.org>
11590
11591         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
11592         invocations.
11593         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
11594
11595 2009-05-21  Eric Blake  <ebb9@byu.net>
11596             Bruno Haible  <bruno@clisp.org>
11597
11598         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
11599         include_next. Fix of 2008-11-20 commit.
11600         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
11601         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
11602         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
11603         NEXT_MATH_H.
11604         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
11605         instead of NEXT_MATH_H.
11606
11607 2009-05-21  Bruno Haible  <bruno@clisp.org>
11608
11609         Avoid redefinition warnings for SIZE_MAX.
11610         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
11611         Reported by Simon Josefsson.
11612
11613 2009-05-21  Bruno Haible  <bruno@clisp.org>
11614
11615         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
11616         AC_CACHE_VAL.
11617
11618 2009-05-20  Bruno Haible  <bruno@clisp.org>
11619
11620         Make zeroptr.h work on mingw.
11621         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
11622         mprotect.
11623         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
11624         * modules/memchr2-tests (configure.ac): Likewise.
11625         * modules/memcmp-tests (configure.ac): Likewise.
11626         * modules/memmem-tests (configure.ac): Likewise.
11627         * modules/memrchr-tests (configure.ac): Likewise.
11628         Reported by Simon Josefsson.
11629
11630 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11631
11632         * tests/test-glob.c: Include string.h for strcmp prototype.
11633
11634 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11635
11636         * modules/getdelim (Depends-on): Add explicit stdint, although it
11637         was implicitly already pulled in via realloc-posix.
11638         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
11639
11640 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11641
11642         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
11643         G. Christensen" <tgc@jupiterrise.com>.
11644         * m4/sys_socket_h.m4: Check for sa_family_t.
11645         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
11646         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
11647         * tests/test-sys_socket.c: Check that sa_family_t works.
11648
11649 2009-05-18  Eric Blake  <ebb9@byu.net>
11650
11651         maint.mk: allow gnulib_dir in VPATH build
11652         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
11653
11654 2009-05-15  Jim Meyering  <meyering@redhat.com>
11655
11656         maint.mk: Give gnulib_dir a default definition.
11657         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
11658         Thus, most packages no longer need to specify this variable in cfg.mk
11659
11660 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
11661
11662         rename.m4: fix typos that would make non-mingw cross-configure fail
11663         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
11664
11665 2009-05-13  Eric Blake  <ebb9@byu.net>
11666
11667         mmap-anon: avoid out-of-order autoconf expansion
11668         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
11669         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
11670         * modules/memchr-tests (Depends-on): Add extensions.
11671         * modules/memchr2-tests (Depends-on): Add extensions.
11672         * modules/memcmp-tests (Depends-on): Add extensions.
11673         * modules/memmem-tests (Depends-on): Add extensions.
11674         * modules/memrchr-tests (Depends-on): Add extensions.
11675
11676 2009-05-13  Bruno Haible  <bruno@clisp.org>
11677
11678         Make some tests ISO C 99 compliant.
11679         * tests/zerosize-ptr.h: New file.
11680         * tests/test-memchr.c: Include zerosize-ptr.h.
11681         (main): Use a zero-size object pointer instead of NULL.
11682         * tests/test-memchr2.c: Include zerosize-ptr.h.
11683         (main): Use a zero-size object pointer instead of NULL.
11684         * tests/test-memcmp.c: Include zerosize-ptr.h.
11685         (main): Use a zero-size object pointer instead of NULL.
11686         * tests/test-memmem.c: Include zerosize-ptr.h.
11687         (main): Use a zero-size object pointer instead of NULL.
11688         * tests/test-memrchr.c: Include zerosize-ptr.h.
11689         (main): Use a zero-size object pointer instead of NULL.
11690         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
11691         m4/mmap-anon.m4.
11692         (Depends-on): Add getpagesize.
11693         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11694         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
11695         m4/mmap-anon.m4.
11696         (Depends-on): Add getpagesize.
11697         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11698         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
11699         m4/mmap-anon.m4.
11700         (Depends-on): Add getpagesize.
11701         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11702         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
11703         m4/mmap-anon.m4.
11704         (Depends-on): Add getpagesize.
11705         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11706         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
11707         m4/mmap-anon.m4.
11708         (Depends-on): Add getpagesize.
11709         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11710
11711 2009-05-12  Bruno Haible  <bruno@clisp.org>
11712
11713         Tests for module 'alignof'.
11714         * modules/alignof-tests: New file.
11715         * tests/test-alignof.c: New file.
11716
11717 2009-05-12  Bruno Haible  <bruno@clisp.org>
11718
11719         Fix alignof macro.
11720         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
11721         vendor compilers that are always correct.
11722
11723 2009-05-12  Bruno Haible  <bruno@clisp.org>
11724
11725         Make the MAP_ANONYMOUS detection work on HP-UX 11.
11726         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
11727         not whether its fully works.
11728
11729 2009-05-12  Bruno Haible  <bruno@clisp.org>
11730
11731         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
11732
11733 2009-05-12  Jim Meyering  <meyering@redhat.com>
11734
11735         * top/maint.mk: Adjust backslash alignment.
11736
11737 2009-05-11  Simon Josefsson  <simon@josefsson.org>
11738
11739         * top/maint.mk: Make $(srcdir)/build-aux configurable.
11740
11741 2009-05-11  Eric Blake  <ebb9@byu.net>
11742
11743         argp: avoid undefined behavior
11744         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
11745         macros.
11746
11747 2009-05-08  Simon Josefsson  <simon@josefsson.org>
11748
11749         * tests/test-vc-list-files-git.sh: Do git config of user.email and
11750         user.name to prevent git commit from complaining.
11751
11752 2009-05-10  Bruno Haible  <bruno@clisp.org>
11753
11754         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
11755         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
11756         it rewrites every file name only once.
11757         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
11758
11759 2009-05-08  Bruno Haible  <bruno@clisp.org>
11760
11761         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
11762         instead of 'max'.
11763
11764 2009-05-08  Simon Josefsson  <simon@josefsson.org>
11765
11766         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
11767         sockaddr_storage test.
11768
11769 2009-05-07  Simon Josefsson  <simon@josefsson.org>
11770
11771         * modules/sys_socket (Makefile.am): Substitute
11772         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
11773         * m4/sys_socket_h.m4: Check for sockaddr_storage.
11774         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
11775         * tests/test-sys_socket.c: Check sockaddr_storage.
11776
11777 2009-05-08  Bruno Haible  <bruno@clisp.org>
11778
11779         New module 'alignof'.
11780         * lib/alignof.h: New file.
11781         * modules/alignof: New file.
11782
11783 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11784             Bruno Haible  <bruno@clisp.org>
11785
11786         Fix test-file-has-acl on FreeBSD.
11787         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
11788         mask is implicitly added.
11789         * tests/test-file-has-acl.c: Include <signal.h>.
11790         (main): Terminate the test after 5 seconds.
11791         * modules/acl-tests (configure.ac): Check for alarm function.
11792
11793 2009-05-04  Bruno Haible  <bruno@clisp.org>
11794
11795         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
11796         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
11797         * modules/errno (configure.ac): Drop AC_REQUIRE.
11798         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
11799         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
11800
11801 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11802
11803         * modules/glob-tests: New module.
11804         * tests/test-glob.c: Add.
11805
11806 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11807
11808         * modules/fnmatch-tests: New module.
11809         * tests/test-fnmatch.c: Add.
11810
11811 2009-05-04  Eric Blake  <ebb9@byu.net>
11812
11813         maint: make the new no-submodule-changes rule VPATH-safe
11814         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
11815
11816 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11817             Bruno Haible  <bruno@clisp.org>
11818
11819         acl: Fix infinite loop on FreeBSD.
11820         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
11821         of return value from acl_get_entry.
11822         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
11823         Likewise.
11824
11825 2009-05-03  Bruno Haible  <bruno@clisp.org>
11826
11827         * lib/acl-internal.h (acl_entries): Clarify return value.
11828         * lib/acl_entries.c (acl_entries): Likewise.
11829
11830 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11831
11832         Bug fix in acl module.
11833         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
11834
11835 2009-05-03  Bruno Haible  <bruno@clisp.org>
11836
11837         Create gperf-generated file in the source dir, not in the build dir.
11838         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
11839         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
11840         * modules/unicase/locale-language (unicase/locale-languages.h):
11841         Likewise.
11842         * modules/unicase/special-casing (unicase/special-casing-table.h):
11843         Likewise.
11844         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
11845         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
11846         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
11847         Reported by Ralf Wildenhues.
11848
11849 2009-05-03  Bruno Haible  <bruno@clisp.org>
11850
11851         * modules/fnmatch (Description, configure.ac): Taken from
11852         fnmatch-posix.
11853         * modules/fnmatch-posix: Turn into a symbolic reference to the
11854         'fnmatch' module, and deprecate.
11855         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
11856
11857 2009-05-03  Bruno Haible  <bruno@clisp.org>
11858
11859         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
11860         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
11861         Reported by Ralf Wildenhues.
11862
11863 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11864
11865         * m4/fnmatch.m4: Fix fnmatch re-define.
11866
11867 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11868
11869         priv-set: new module and tests; adapt write-any-file
11870         * lib/priv-set.c: New file.
11871         * lib/priv-set.h: New file.
11872         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
11873         * lib/write-any-file.c: Simplify by using priv-set module.
11874         * m4/priv-set.m4: New file.
11875         * modules/priv-set: New file.
11876         * modules/unlinkdir: Add dependency on priv-set module.
11877         * modules/write-any-file: Likewise.
11878
11879         Tests for module 'priv-set'.
11880         * modules/priv-set-tests: New file.
11881         * tests/test-priv-set.c: New file.
11882
11883 2009-05-03  Jim Meyering  <meyering@redhat.com>
11884             Bruno Haible  <bruno@clisp.org>
11885
11886         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
11887         use the converted UTF-8 variant of the name instead.
11888
11889 2009-05-03  Jim Meyering  <meyering@redhat.com>
11890
11891         tests: tighten some getdate tests
11892         * tests/test-getdate.c (main): Tighten tests: require equality,
11893         not just greater than.  Set TZ envvar to UTC0.
11894
11895 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
11896
11897         getdate: correctly interpret "next monday" when run on a Monday
11898         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
11899         that e.g., "next tues" (when run on a tuesday) results in a date
11900         that is one week in the future, and not today's date.
11901         I.e., add a week when the wday is the same as the current one.
11902         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
11903         and earlier by Martin Bernreuther and Jan Minář.
11904         * tests/test-getdate.c (main): Check that "next DAY" is always in
11905         the future and that "last DAY" is always in the past.
11906
11907 2009-05-02  Jim Meyering  <meyering@redhat.com>
11908
11909         build: ensure that a release build fails when a submodule is unclean
11910         * top/maint.mk (no-submodule-changes): New rule.
11911         (alpha beta major): Depend on it.
11912
11913 2009-05-02  Bruno Haible  <bruno@clisp.org>
11914
11915         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
11916         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
11917         shell variable gl_fnmatch_required to detect which variant is
11918         requested.
11919         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
11920         gl_FUNC_FNMATCH_POSIX.
11921         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
11922         exclude fnmatch-posix.
11923
11924 2009-05-02  Bruno Haible  <bruno@clisp.org>
11925
11926         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
11927         * modules/mbsrtowcs (License): Change to LGPLv2+.
11928         * modules/strnlen1 (License): Likewise.
11929         Reported by Simon Josefsson.
11930
11931 2009-05-02  Bruno Haible  <bruno@clisp.org>
11932
11933         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
11934         "cross".
11935         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
11936         gnulib-tool was called with option --source-base=lib.
11937
11938 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11939
11940         Use automake *-local hooks without commands, for extensibility.
11941         * modules/localcharset (Makefile.am): Rename install-exec-local
11942         rule to install-exec-localcharset, and make it a prerequisite of
11943         install-exec-local.  Likewise, rename the uninstall-local rule to
11944         uninstall-localcharset, and make it a prerequisite of the former.
11945
11946 2009-05-01  Bruno Haible  <bruno@clisp.org>
11947
11948         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
11949         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
11950         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
11951         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
11952         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
11953         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
11954         m4/locale-zh.m4, m4/codeset.m4.
11955
11956         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
11957         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
11958         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
11959         m4/locale-zh.m4.
11960
11961         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
11962         REPLACE_WCRTOMB if mbstate_t must be replaced.
11963         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
11964         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
11965
11966 2009-05-01  Bruno Haible  <bruno@clisp.org>
11967
11968         Avoid compiler warnings when redefining macros defined by <libintl.h>.
11969         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
11970         dngettext, dcngettext, textdomain, bindtextdomain,
11971         bind_textdomain_codeset): Undefine before redefining.
11972
11973 2009-04-30  Bruno Haible  <bruno@clisp.org>
11974
11975         Fix bug introduced on 2009-04-25.
11976         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
11977         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
11978         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
11979         is defined.
11980         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
11981         is defined.
11982         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
11983         is defined.
11984         Reported by Elbert_Pol <elbert.pol@gmail.com>.
11985
11986 2009-04-28  Bruno Haible  <bruno@clisp.org>
11987
11988         Comment tweaks.
11989         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
11990         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
11991         * lib/unicase.h (u*_casexfrm): Likewise.
11992         Reported by Paolo Bonzini.
11993
11994 2009-04-28  Bruno Haible  <bruno@clisp.org>
11995
11996         Fix a compilation error.
11997         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
11998         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
11999         Reported by Jim Meyering.
12000
12001 2009-04-27  Bruno Haible  <bruno@clisp.org>
12002
12003         New module 'libunistring'.
12004         * modules/libunistring: New file.
12005         * m4/libunistring.m4: New file.
12006         * MODULES.html.sh (Unicode string functions): Add it.
12007
12008 2009-04-27  Eric Blake  <ebb9@byu.net>
12009
12010         maint.mk: allow package-specific header to provide <config.h>
12011         * top/maint.mk (sc_require_config_h): New variable.
12012         (sc_require_config_h, sc_require_config_h_first): Use it.
12013
12014 2009-04-27  Simon Josefsson  <simon@josefsson.org>
12015
12016         * top/maint.mk (sc_avoid_if_before_free): Except
12017         useless-if-before-free script.
12018
12019 2009-04-27  Eric Blake  <ebb9@byu.net>
12020
12021         maintainer-makefile: depend on all required helper scripts
12022         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
12023         useless-if-before-free.
12024         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
12025         version, rather than assuming gnulib checkout is available.
12026         Reported by Simen Josefsson.
12027
12028 2009-04-26  Bruno Haible  <bruno@clisp.org>
12029
12030         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
12031         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
12032         "../" or "..".
12033
12034 2009-04-26  Bruno Haible  <bruno@clisp.org>
12035
12036         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
12037         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
12038         AC_LIB_HAVE_LINKFLAGS.
12039
12040 2009-04-26  Bruno Haible  <bruno@clisp.org>
12041
12042         Simplify calling convention of u*_conv_from_encoding.
12043         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
12044         u32_conv_from_encoding): Expect a resultbuf argument and return the
12045         result directly as a pointer.
12046         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
12047         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
12048         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
12049         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
12050         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
12051         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
12052         Update.
12053         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
12054         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
12055         * lib/vasnprintf.c (VASNPRINTF): Update.
12056         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
12057         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
12058         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
12059         * NEWS: Mention the change.
12060
12061 2009-04-26  Bruno Haible  <bruno@clisp.org>
12062
12063         Simplify calling convention of u*_conv_to_encoding.
12064         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
12065         u32_conv_to_encoding): Expect a resultbuf argument and return the
12066         result directly as a pointer.
12067         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
12068         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
12069         freeing scaled_offsets if mem_iconveha failed.
12070         * lib/unicase/u-casexfrm.h (FUNC): Update.
12071         * lib/uninorm/u-normxfrm.h (FUNC): Update.
12072         * lib/vasnprintf.c (VASNPRINTF): Update.
12073         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
12074         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
12075         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
12076         * NEWS: Mention the change.
12077
12078 2009-04-26  Bruno Haible  <bruno@clisp.org>
12079
12080         Avoid test failures on AIX and OSF/1.
12081         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
12082         malloc(0).
12083         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
12084         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
12085         Likewise.
12086         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
12087         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
12088         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
12089         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
12090         * doc/posix-functions/malloc.texi: Document the portability problem
12091         related to malloc(0).
12092
12093 2009-04-26  Bruno Haible  <bruno@clisp.org>
12094
12095         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
12096         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
12097         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
12098
12099 2009-04-25  Bruno Haible  <bruno@clisp.org>
12100
12101         Avoid link error when creating a namespace clean library.
12102         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
12103         as macro with arguments if already defined as an alias.
12104         * lib/signbitf.c (gl_signbitf): Don't undefine.
12105         * lib/signbitd.c (gl_signbitd): Don't undefine.
12106         * lib/signbitl.c (gl_signbitl): Don't undefine.
12107
12108 2009-04-25  Jim Meyering  <meyering@redhat.com>
12109
12110         vc-list-files: fix another quoting bug
12111         * build-aux/vc-list-files: Avoid sed backslash expansion
12112         of pathological directory names.
12113
12114 2009-04-25  Eric Blake  <ebb9@byu.net>
12115
12116         vc-list-files: fix shell quoting error
12117         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
12118         timestamp.
12119
12120 2009-04-25  Jim Meyering  <meyering@redhat.com>
12121
12122         vc-list-files: restore lost functionality with subdir argument
12123         * build-aux/vc-list-files: When given a non-"." sub-directory
12124         argument, substitute the $dir/ prefix back onto each resulting name.
12125         Otherwise, coreutils' root_tests check would fail.
12126
12127 2009-04-24  Eric Blake  <ebb9@byu.net>
12128
12129         vc-list-files: ignore git symlinks
12130         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
12131         than ls-files, to ignore git symlinks.
12132
12133         maint.mk: import improvements from m4
12134         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
12135         (move_if_change): Delete unused macro.
12136         (news-date-check, vc-diff-check): Support VPATH builds.
12137         (announcement): Likewise.  Split --bootstrap-tools list...
12138         (boostrap-tools): ...into separate list, which can be overridden
12139         in cfg.mk.
12140         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
12141         requiring dependency on useless-if-before-free module.
12142         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
12143         Support VPATH builds.
12144
12145 2009-04-24  Jim Meyering  <meyering@redhat.com>
12146
12147         maint.mk: remove coreutils-specific rules and variables
12148         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
12149         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
12150         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
12151
12152         maint.mk: remove obsolete rule
12153         * top/maint.mk (rel-check): Remove rule.
12154         (WGET, WGETFLAGS): Remove now-unused variables.
12155
12156 2009-04-24  Simon Josefsson  <simon@josefsson.org>
12157
12158         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
12159         consistency.
12160
12161         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
12162         '$(PATH_SEPARATOR)' instead of ':'.
12163
12164 2009-04-24  Simon Josefsson  <simon@josefsson.org>
12165
12166         * lib/getopt1.c (main): Use 'const' for static array.
12167
12168 2009-04-24  Simon Josefsson  <simon@josefsson.org>
12169
12170         * top/maint.mk: Sync with coreutils.
12171         * NEWS: Explain incompatibilities.
12172
12173 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12174             Bruno Haible  <bruno@clisp.org>
12175
12176         Fix cross-compilation results.
12177         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
12178         statement, as third argument of AC_TRY_RUN.
12179         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
12180         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
12181         Likewise.
12182         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12183         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
12184         Likewise.
12185         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12186         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
12187         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
12188
12189 2009-04-20  Bruno Haible  <bruno@clisp.org>
12190
12191         Avoid test failure on mingw.
12192         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
12193
12194 2009-04-20  Bruno Haible  <bruno@clisp.org>
12195
12196         Avoid compilation error on mingw.
12197         * modules/localename-tests (Depends-on): Add locale.
12198
12199 2009-04-19  Bruno Haible  <bruno@clisp.org>
12200
12201         Support for building a shared library on Windows platforms.
12202         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
12203         (main): Test the presence of UNINORM_NFC here.
12204         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
12205         (main): Test the presence of UNINORM_NFD here.
12206         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
12207         (main): Test the presence of UNINORM_NFKC here.
12208         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
12209         (main): Test the presence of UNINORM_NFKD here.
12210
12211 2009-04-19  Bruno Haible  <bruno@clisp.org>
12212
12213         Avoid a compiler warning.
12214         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
12215         Change type of variable 'sequence'.
12216
12217 2009-04-19  Bruno Haible  <bruno@clisp.org>
12218
12219         * modules/configmake (Makefile.am): When the contents of configmake.h
12220         does not change, arrange to preserve its modification time.
12221
12222 2009-04-17  Simon Josefsson  <simon@josefsson.org>
12223
12224         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
12225         gettext domain.
12226
12227 2009-04-16  Jim Meyering  <meyering@redhat.com>
12228
12229         useless-if-before-free: improve conversion code
12230         * build-aux/useless-if-before-free: Adjust code-in-comment to match
12231         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
12232
12233 2009-04-14  Bruno Haible  <bruno@clisp.org>
12234
12235         * modules/fcntl (Depends-on): Add extensions.
12236         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
12237
12238 2009-04-12  Ben Pfaff  <blp@gnu.org>
12239
12240         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
12241         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
12242
12243 2009-03-20  Ben Pfaff  <blp@gnu.org>
12244
12245         Make rename replace existing destinations on Windows.
12246         * m4/rename.m4: Add test for Mingw.
12247         * lib/rename.c: Add rename replacement that uses MoveFileEx with
12248         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
12249         * doc/posix-functions/rename.texi: Document.
12250
12251 2009-04-10  Bruno Haible  <bruno@clisp.org>
12252
12253         New include file "iconveh.h".
12254         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
12255         * lib/striconveh.h: Include it.
12256         (enum iconv_ilseq_handler): Remove definition.
12257         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
12258         striconveh.h.
12259         * lib/striconveha.c: Include striconveh.h.
12260         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
12261         * modules/striconveh (Files): Add lib/iconveh.h.
12262         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
12263         lib/striconveh.h.
12264
12265 2009-04-10  Bruno Haible  <bruno@clisp.org>
12266
12267         * lib/uniconv.h: Update comment.
12268
12269 2009-04-10  Bruno Haible  <bruno@clisp.org>
12270
12271         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
12272         always.
12273         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
12274         * lib/unistr/u16-mbtouc-aux.c: Likewise.
12275         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
12276         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
12277         "unistring-notinline.h", so that the function gets defined always.
12278         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
12279         * lib/unistr/u8-uctomb.c: Likewise.
12280         * lib/unistr/u16-mbtouc.c: Likewise.
12281         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
12282         * lib/unistr/u16-uctomb.c: Likewise.
12283         * lib/unistr/u32-mbtouc.c: Likewise.
12284         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
12285         * lib/unistr/u32-uctomb.c: Likewise.
12286
12287 2009-04-10  Bruno Haible  <bruno@clisp.org>
12288
12289         Mark 'utime' obsolete.
12290         * modules/utime (Status, Notice): New sections.
12291         Suggested by Jim Meyering.
12292
12293         Fix cross-compile guess for utime test.
12294         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
12295         autoconf.
12296         * doc/posix-functions/utime.texi: Give more precisions.
12297         Reported by Jan <ipif@ymail.com>.
12298
12299 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
12300
12301         filevercmp: correct today's change
12302         * lib/filevercmp.c: Also handle coreutils' test inputs.
12303         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
12304
12305         Fix regression in 'filevercmp' module. Thanks Sven Joachim
12306         for reporting it.
12307         * lib/filevercmp.c: Special handle for "", "." and "..".
12308         * tests/test-filevercmp.c: Enlarge the set suite.
12309
12310 2009-04-07  Jim Meyering  <meyering@redhat.com>
12311
12312         useless-if-before-free: show how to remove braced useless free, too
12313         * build-aux/useless-if-before-free: still only in a comment, though.
12314
12315 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
12316
12317         maint.mk: import changes to syntax-check macros from coreutils
12318         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
12319         Use them in the relevant macros.
12320
12321 2009-04-06  Bruno Haible  <bruno@clisp.org>
12322
12323         Fix unportable use of bit-fields.
12324         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
12325         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
12326         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
12327
12328 2009-04-06  Bruno Haible  <bruno@clisp.org>
12329
12330         Avoid test failures on AIX and OSF/1.
12331         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
12332         that malloc(0) = NULL.
12333         * tests/unicase/test-u8-tolower.c (check): Likewise.
12334         * tests/unicase/test-u8-totitle.c (check): Likewise.
12335         * tests/unicase/test-u8-toupper.c (check): Likewise.
12336         * tests/unicase/test-u16-casefold.c (check): Likewise.
12337         * tests/unicase/test-u16-tolower.c (check): Likewise.
12338         * tests/unicase/test-u16-totitle.c (check): Likewise.
12339         * tests/unicase/test-u16-toupper.c (check): Likewise.
12340         * tests/unicase/test-u32-casefold.c (check): Likewise.
12341         * tests/unicase/test-u32-tolower.c (check): Likewise.
12342         * tests/unicase/test-u32-totitle.c (check): Likewise.
12343         * tests/unicase/test-u32-toupper.c (check): Likewise.
12344         * tests/uninorm/test-u8-nfc.c (check): Likewise.
12345         * tests/uninorm/test-u8-nfd.c (check): Likewise.
12346         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
12347         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
12348         * tests/uninorm/test-u16-nfc.c (check): Likewise.
12349         * tests/uninorm/test-u16-nfd.c (check): Likewise.
12350         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
12351         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
12352         * tests/uninorm/test-u32-nfc.c (check): Likewise.
12353         * tests/uninorm/test-u32-nfd.c (check): Likewise.
12354         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
12355         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
12356
12357 2009-04-05  Bruno Haible  <bruno@clisp.org>
12358
12359         Work around an autoconf limitation.
12360         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
12361         comment line if it would be longer than 3 KB.
12362
12363 2009-04-05  Bruno Haible  <bruno@clisp.org>
12364
12365         Avoid test failure with libiconv-1.13.
12366         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
12367         of the expected test results.
12368
12369 2009-04-05  Bruno Haible  <bruno@clisp.org>
12370
12371         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
12372         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
12373         that it should be installed.
12374
12375 2009-04-05  Bruno Haible  <bruno@clisp.org>
12376
12377         * gnulib-tool: New option --copy-file.
12378         (func_usage): Document it.
12379         (func_dest_tmpfilename): Moved out of func_import.
12380         (func_add_file, func_update_file): New functions, extracted from
12381         func_import.
12382         (func_import): Update.
12383
12384 2009-04-05  Karl Berry  <karl@gnu.org>
12385
12386         * README: prominently mention gnulib-tool.
12387         Rearrange sections so getting the code is near the top.
12388
12389 2009-04-05  Bruno Haible  <bruno@clisp.org>
12390
12391         * lib/unicase.h: Mention u*_cmp2.
12392         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
12393         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
12394         * lib/unicase/ulc-casecmp.c: Likewise.
12395         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
12396         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
12397         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
12398         unistr/u8-cmp.
12399         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
12400         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
12401         unistr/u16-cmp.
12402         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
12403         unistr/u32-cmp.
12404
12405         * lib/uninorm.h: Mention u*_cmp2.
12406         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
12407         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
12408         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
12409         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
12410         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
12411         unistr/u8-cmp.
12412         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
12413         unistr/u16-cmp.
12414         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
12415         unistr/u32-cmp.
12416
12417         New module 'unistr/u32-cmp2'.
12418         * lib/unistr/u32-cmp2.c: New file.
12419         * modules/unistr/u32-cmp2: New file.
12420
12421         New module 'unistr/u16-cmp2'.
12422         * lib/unistr/u16-cmp2.c: New file.
12423         * modules/unistr/u16-cmp2: New file.
12424
12425         New module 'unistr/u8-cmp2'.
12426         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
12427         * lib/unistr/u8-cmp2.c: New file.
12428         * lib/unistr/u-cmp2.h: New file.
12429         * modules/unistr/u8-cmp2: New file.
12430
12431 2009-04-05  Bruno Haible  <bruno@clisp.org>
12432
12433         * lib/unictype.h (uc_property_is_valid): New macro.
12434         * tests/unictype/test-pr_byname.c (main): Use it.
12435
12436         * lib/unistr.h: Doc fixes.
12437         * lib/uniconv.h: Doc fixes.
12438         * lib/unictype.h: Doc fixes.
12439
12440 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
12441
12442         Port coreutils 7.2 to Solaris 8.
12443
12444         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
12445         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
12446         for Solaris 8.  This is a bit of a hack, as it means it's the
12447         caller's responsibility to add -lnsl if needed, but most likely it
12448         won't be needed since only getaddrinfo uses this and getaddrinfo
12449         isn't needed on Solaris 8.
12450
12451         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
12452         problem to Solaris 8 encountered with coreutils 7.2, which
12453         resulted in a message "fnmatch.c:292: warning: passing argument 4
12454         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
12455         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
12456
12457 2009-04-03  Simon Josefsson  <simon@josefsson.org>
12458
12459         * m4/ld-version-script.m4: Add FIXME comment.
12460
12461 2009-04-02  Simon Josefsson  <simon@josefsson.org>
12462
12463         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
12464         SOVERSION variable.
12465
12466 2009-04-02  Bruno Haible  <bruno@clisp.org>
12467
12468         * Makefile (info, html, dvi, pdf): Combine the rules.
12469         Suggested by Jim Meyering.
12470
12471 2009-04-01  Bruno Haible  <bruno@clisp.org>
12472
12473         * Makefile (info, html, dvi, pdf): New targets.
12474         Reported by Reuben Thomas <rrt@sc3d.org>.
12475
12476 2009-04-01  Bruno Haible  <bruno@clisp.org>
12477
12478         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
12479         can be put into PATH.
12480         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
12481
12482 2009-04-01  Bruno Haible  <bruno@clisp.org>
12483
12484         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
12485
12486 2009-04-01  Bruno Haible  <bruno@clisp.org>
12487
12488         Rename module 'visibility'.
12489         * modules/lib-symbol-visibility: Renamed from modules/visibility.
12490         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
12491         * doc/gnulib.texi: Update.
12492         * MODULES.html.sh (Misc): Update.
12493         * NEWS: Mention the change.
12494
12495 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12496
12497         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
12498         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
12499         Eric Blake <ebb9@byu.net> for review.
12500         * MODULES.html.sh: Add lib-msvc-compat.
12501         * doc/gnulib.texi: Link to new section.
12502         * m4/ld-output-def.m4: New file.
12503         * doc/ld-output-def.texi: New file.
12504
12505 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12506
12507         Rename ld-version-script to lib-symbol-versions.  Suggested by
12508         Bruno Haible <bruno@clisp.org>.
12509         * modules/ld-version-script: Renamed to lib-symbol-versions.
12510         * doc/ld-version-script.texi: Fix module name.
12511         * MODULES.html.sh: Add lib-symbol-versions.
12512
12513 2009-03-31  Simon Josefsson  <simon@josefsson.org>
12514
12515         * modules/u64-tests: New file.
12516         * tests/test-u64.c: New file.
12517
12518 2009-03-04  Simon Josefsson  <simon@josefsson.org>
12519
12520         * MODULES.html.sh: Mention u64.
12521         * modules/u64: New module.
12522         * modules/crypto/sha512: Depend on u64 module instead of providing
12523         u64.h.
12524
12525 2009-03-27  Eric Blake  <ebb9@byu.net>
12526
12527         test-strerror: make debugging EAI_SYSTEM easier
12528         * modules/getaddrinfo-tests (Depends-on): Add strerror.
12529         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
12530         failure was EAI_SYSTEM.
12531
12532 2009-03-25  Bruno Haible  <bruno@clisp.org>
12533
12534         Fix a problem with --enable-relocatable on Solaris 7.
12535         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
12536         since 2008-02-24.
12537
12538 2009-03-25  Eric Blake  <ebb9@byu.net>
12539
12540         test-sockets: avoid gcc warning
12541         * tests/test-sockets.c (main): Silence compiler warning.
12542
12543 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
12544
12545         New modules nproc, pthread, contributed by Glen Lenker.
12546
12547         * MODULES.html.sh: Add pthread, nproc.
12548         * lib/nproc.c: New file.
12549         * lib/nproc.h: New file.
12550         * lib/pthread.in.h: New file.
12551         * m4/pthread.m4: New file.
12552         * modules/nproc: New file.
12553         * modules/pthread: New file.
12554
12555 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12556
12557         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
12558         New variable.
12559
12560 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
12561
12562         filevercmp: handle simple~ and numbered.~3~ backup suffixes
12563         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
12564         * tests/test-filevercmp.c: Add tests for backup suffixes.
12565
12566 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12567
12568         * modules/stdlib (Depends-on): Add stdint, needed when defining
12569         struct random_data on, for example, HP-UX 10.20.  Reported by
12570         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12571
12572 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12573
12574         * lib/readline.c (readline): Call fflush on stdout after printing
12575         prompt.
12576
12577 2009-03-20  Bruno Haible  <bruno@clisp.org>
12578
12579         Remove dependency from 'close' module to -lws2_32 on native Windows.
12580         * lib/close-hook.h: New file.
12581         * lib/close-hook.c: New file.
12582         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
12583         w32sock.h.
12584         (_gl_close_fd_maybe_socket): Remove function.
12585         (rpl_close): Invoke execute_all_close_hooks instead of
12586         _gl_close_fd_maybe_socket.
12587         * lib/sockets.c: Include close-hook.h, w32sock.h.
12588         (close_fd_maybe_socket): New function, essentially from lib/close.c.
12589         (close_sockets_hook): New variable.
12590         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
12591         (gl_sockets_cleanup): Unregister it.
12592         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
12593         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
12594         * modules/close-hook: New file.
12595         * modules/close (Files): Remove lib/w32sock.h.
12596         (Depends-on): Add close-hook.
12597         (Link): Remove section.
12598         * modules/sockets (Files): Add lib/w32sock.h.
12599         (Depends-on): Add close-hook.
12600         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
12601         invocation.
12602         * NEWS: Mention that LIB_CLOSE is gone.
12603
12604 2009-03-23  Eric Blake  <ebb9@byu.net>
12605
12606         signal-tests: test previous patch
12607         * tests/test-signal.c: New file.
12608         * modules/signal-tests: Likewise.
12609
12610         signal.h: always support 'volatile sig_atomic_t'
12611         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
12612         (gl_SIGNAL_H_DEFAULTS): Add a default.
12613         * modules/signal (Makefile.am): Substitute if needed.
12614         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
12615         users can blindly add volatile.
12616         * doc/posix-headers/signal.texi (signal.h): Document it.
12617         Reported by Matthew Woehlke.
12618
12619 2009-03-23  Jim Meyering  <meyering@redhat.com>
12620
12621         pathmax: PATH_MAX: use pathconf only when available
12622         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
12623         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
12624         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
12625         This avoids a link failure in a PSP cross-compilation environment
12626         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
12627
12628         * lib/vasnprintf.c (divide): Fix typo in comment.
12629
12630 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12631
12632         * gnulib-tool (func_filter_filelist): Fix comment.
12633
12634 2009-03-20  Bruno Haible  <bruno@clisp.org>
12635
12636         Make sockets.h self-contained.
12637         * lib/sockets.c: Include sockets.h first.
12638         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
12639
12640 2009-03-19  Eric Blake  <ebb9@byu.net>
12641
12642         doc: mention more functions added in cygwin 1.7.0
12643         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
12644         addition.
12645         * doc/posix-functions/log2f.texi: Likewise.
12646
12647 2009-03-19  Jim Meyering  <meyering@redhat.com>
12648
12649         fsusage: avoid syntax error due to statement-before-declaration
12650         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
12651         after all declarations.  Reported by Matthew Woehlke in
12652         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
12653
12654 2009-03-18  Eric Blake  <ebb9@byu.net>
12655
12656         build-aux/compile: sync from automake
12657         * build-aux/compile: New file, from automake.
12658         * config/srclist.txt: Mention build-aux/compile.
12659
12660 2009-03-17  Bruno Haible  <bruno@clisp.org>
12661
12662         * lib/git-merge-changelog.c: Fix typo in comment.
12663         Reported by Reuben Thomas <rrt@sc3d.org>.
12664
12665 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
12666
12667         * m4/regex.m4: update and improve help for
12668         --without-included-regex.
12669
12670 2009-03-17  Simon Josefsson  <simon@josefsson.org>
12671
12672         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
12673         failure on missing include files.
12674
12675 2009-03-17  Eric Blake  <ebb9@byu.net>
12676
12677         doc: mention more functions added in cygwin 1.7.0
12678         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
12679         addition.
12680         * doc/posix-functions/fwscanf.texi: Likewise.
12681         * doc/posix-functions/swprintf.texi: Likewise.
12682         * doc/posix-functions/swscanf.texi: Likewise.
12683         * doc/posix-functions/vfwprintf.texi: Likewise.
12684         * doc/posix-functions/vfwscanf.texi: Likewise.
12685         * doc/posix-functions/vswprintf.texi: Likewise.
12686         * doc/posix-functions/vswscanf.texi: Likewise.
12687         * doc/posix-functions/vwprintf.texi: Likewise.
12688         * doc/posix-functions/vwscanf.texi: Likewise.
12689         * doc/posix-functions/wcscasecmp.texi: Likewise.
12690         * doc/posix-functions/wcsdup.texi: Likewise.
12691         * doc/posix-functions/wcsftime.texi: Likewise.
12692         * doc/posix-functions/wcsncasecmp.texi: Likewise.
12693         * doc/posix-functions/wprintf.texi: Likewise.
12694         * doc/posix-functions/wscanf.texi: Likewise.
12695         * doc/glibc-functions/gethostbyname2.texi: Likewise.
12696
12697 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12698
12699         maint.mk: really add $(AM_MAKEFLAGS)
12700         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
12701         was inadvertently omitted in the last commit.
12702         Spotted by Bruno Haible.
12703
12704         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
12705         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
12706         $(AM_MAKEFLAGS)' rather than plain `make'.
12707
12708         gnulib-tool: execute $MAKE not make
12709         * gnulib-tool: Default $MAKE to 'make'.
12710         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
12711         than make.  Initialize $MAKE in the do-autobuild script.
12712
12713         gnulib-tool: use $MAKE not make in generated files
12714         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
12715         make, in generated files.  Initialize $MAKE in the do-autobuild
12716         script.
12717
12718         * top/GNUmakefile (_have-git-version-gen): Fix typo.
12719
12720         GNUmakefile: disable parallelism only for multiple, recursive targets
12721         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
12722         additions in the Makefile.
12723         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
12724         by Automake.
12725         (.NOTPARALLEL): Only disable parallel builds if multiple targets
12726         are listed on the command line and at least one of them is
12727         listed in $(ALL_RECURSIVE_TARGETS).
12728
12729 2009-03-14  Bruno Haible  <bruno@clisp.org>
12730
12731         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
12732         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
12733         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
12734         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
12735         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
12736         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
12737         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
12738         unistr/u8-uctomb.
12739         * modules/unistr/u8-strchr (Depends-on): Likewise.
12740         * modules/unistr/u8-strrchr (Depends-on): Likewise.
12741         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
12742         unistr/u16-uctomb.
12743         * modules/unistr/u16-strchr (Depends-on): Likewise.
12744         * modules/unistr/u16-strrchr (Depends-on): Likewise.
12745
12746 2009-03-12  Bruno Haible  <bruno@clisp.org>
12747
12748         Work around select() bug on Interix 3.5.
12749         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
12750         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
12751         * m4/select.m4: New file.
12752         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
12753         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
12754         * modules/select (Files): Add m4/select.m4.
12755         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
12756         * modules/nanosleep (Depends-on): Add select.
12757         * modules/poll (Depends-on): Likewise.
12758         * doc/posix-functions/select.texi: Mention the Interix bug.
12759         Reported by Markus Duft <mduft@gentoo.org>.
12760
12761         * lib/select.c: Renamed from lib/winsock-select.c.
12762         * modules/select (Files): Add lib/select.c, remove
12763         lib/winsock-select.c.
12764         (configure.ac): Update.
12765
12766 2009-03-12  Jim Meyering  <meyering@redhat.com>
12767
12768         avoid gcc warnings about unused macro definitions
12769         * lib/readtokens.c (STREQ): Remove unused definition.
12770         * lib/xmalloc.c (SIZE_MAX): Likewise.
12771         * lib/openat-die.c (N_): Likewise.
12772         * lib/mountlist.c (SIZE_MAX): Remove definition.
12773         Instead, include <stdint.h>.
12774         * lib/readutmp.c: Likewise.
12775         * modules/readutmp (Depends-on): Add stdint.
12776         * modules/mountlist (Depends-on): Add stdint.
12777         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
12778
12779 2009-03-10  Bruno Haible  <bruno@clisp.org>
12780
12781         Tests for module 'mbmemcasecoll'.
12782         * modules/mbmemcasecoll-tests: New file.
12783         * tests/test-mbmemcasecoll1.sh: New file.
12784         * tests/test-mbmemcasecoll2.sh: New file.
12785         * tests/test-mbmemcasecoll3.sh: New file.
12786         * tests/test-mbmemcasecoll.c: New file.
12787
12788         New module 'mbmemcasecoll'.
12789         * lib/mbmemcasecoll.h: New file.
12790         * lib/mbmemcasecoll.c: New file.
12791         * modules/mbmemcasecoll: New file.
12792
12793         * tests/test-mbmemcasecmp.h: New file, extracted from
12794         tests/test-mbmemcasecmp.c.
12795         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
12796         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
12797         (main): Update.
12798         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
12799
12800 2009-03-09  Bruno Haible  <bruno@clisp.org>
12801
12802         Tests for module 'mbmemcasecmp'.
12803         * modules/mbmemcasecmp-tests: New file.
12804         * tests/test-mbmemcasecmp1.sh: New file.
12805         * tests/test-mbmemcasecmp2.sh: New file.
12806         * tests/test-mbmemcasecmp3.sh: New file.
12807         * tests/test-mbmemcasecmp.c: New file.
12808
12809         New module 'mbmemcasecmp'.
12810         * lib/mbmemcasecmp.h: New file.
12811         * lib/mbmemcasecmp.c: New file.
12812         * modules/mbmemcasecmp: New file.
12813
12814 2009-03-09  Bruno Haible  <bruno@clisp.org>
12815
12816         Tests for module 'unicase/ulc-casecoll'.
12817         * modules/unicase/ulc-casecoll-tests: New file.
12818         * tests/unicase/test-ulc-casecoll1.sh: New file.
12819         * tests/unicase/test-ulc-casecoll2.sh: New file.
12820         * tests/unicase/test-ulc-casecoll.c: New file.
12821
12822         New module 'unicase/ulc-casecoll'.
12823         * lib/unicase.h (ulc_casecoll): New declaration.
12824         * lib/unicase/ulc-casecoll.c: New file.
12825         * modules/unicase/ulc-casecoll: New file.
12826
12827         New module 'unicase/ulc-casexfrm'.
12828         * lib/unicase.h (ulc_casexfrm): New declaration.
12829         * lib/unicase/ulc-casexfrm.c: New file.
12830         * modules/unicase/ulc-casexfrm: New file.
12831
12832 2009-03-09  Bruno Haible  <bruno@clisp.org>
12833
12834         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
12835         invocations.
12836
12837         * m4/mbscasecmp.m4: Remove file.
12838         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
12839         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
12840
12841         * m4/mbscasestr.m4: Remove file.
12842         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
12843         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
12844
12845         * m4/mbschr.m4: Remove file.
12846         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
12847         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
12848
12849         * m4/mbscspn.m4: Remove file.
12850         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
12851         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
12852
12853         * m4/mbslen.m4: Remove file.
12854         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
12855         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
12856
12857         * m4/mbsncasecmp.m4: Remove file.
12858         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
12859         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
12860
12861         * m4/mbsnlen.m4: Remove file.
12862         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
12863         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
12864
12865         * m4/mbspbrk.m4: Remove file.
12866         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
12867         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
12868
12869         * m4/mbspcasecmp.m4: Remove file.
12870         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
12871         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
12872
12873         * m4/mbsrchr.m4: Remove file.
12874         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
12875         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
12876
12877         * m4/mbssep.m4: Remove file.
12878         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
12879         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
12880
12881         * m4/mbsspn.m4: Remove file.
12882         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
12883         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
12884
12885         * m4/mbsstr.m4: Remove file.
12886         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
12887         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
12888
12889         * m4/mbstok_r.m4: Remove file.
12890         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
12891         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
12892
12893         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
12894
12895         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
12896         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
12897
12898         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
12899
12900 2009-03-08  Bruno Haible  <bruno@clisp.org>
12901
12902         Tests for module 'unicase/ulc-casecmp'.
12903         * modules/unicase/ulc-casecmp-tests: New file.
12904         * tests/unicase/test-ulc-casecmp1.sh: New file.
12905         * tests/unicase/test-ulc-casecmp2.sh: New file.
12906         * tests/unicase/test-ulc-casecmp.c: New file.
12907
12908         New module 'unicase/ulc-casecmp'.
12909         * lib/unicase.h (ulc_casecmp): New declaration.
12910         * lib/unicase/ulc-casecmp.c: New file.
12911         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
12912         'const SRC_UNIT *'.
12913         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
12914         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
12915         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
12916         * modules/unicase/ulc-casecmp: New file.
12917
12918         Tests for module 'unicase/u32-is-cased'.
12919         * modules/unicase/u32-is-cased-tests: New file.
12920         * tests/unicase/test-u32-is-cased.c: New file.
12921
12922         Tests for module 'unicase/u16-is-cased'.
12923         * modules/unicase/u16-is-cased-tests: New file.
12924         * tests/unicase/test-u16-is-cased.c: New file.
12925
12926         Tests for module 'unicase/u8-is-cased'.
12927         * modules/unicase/u8-is-cased-tests: New file.
12928         * tests/unicase/test-u8-is-cased.c: New file.
12929         * tests/unicase/test-is-cased.h: New file.
12930
12931         New module 'unicase/u32-is-cased'.
12932         * lib/unicase/u32-is-cased.c: New file.
12933         * modules/unicase/u32-is-cased: New file.
12934
12935         New module 'unicase/u16-is-cased'.
12936         * lib/unicase/u16-is-cased.c: New file.
12937         * modules/unicase/u16-is-cased: New file.
12938
12939         New module 'unicase/u8-is-cased'.
12940         * lib/unicase/u8-is-cased.c: New file.
12941         * lib/unicase/u-is-cased.h: New file.
12942         * modules/unicase/u8-is-cased: New file.
12943
12944         Tests for module 'unicase/u32-is-casefolded'.
12945         * modules/unicase/u32-is-casefolded-tests: New file.
12946         * tests/unicase/test-u32-is-casefolded.c: New file.
12947
12948         Tests for module 'unicase/u16-is-casefolded'.
12949         * modules/unicase/u16-is-casefolded-tests: New file.
12950         * tests/unicase/test-u16-is-casefolded.c: New file.
12951
12952         Tests for module 'unicase/u8-is-casefolded'.
12953         * modules/unicase/u8-is-casefolded-tests: New file.
12954         * tests/unicase/test-u8-is-casefolded.c: New file.
12955         * tests/unicase/test-is-casefolded.h: New file.
12956
12957         New module 'unicase/u32-is-casefolded'.
12958         * lib/unicase/u32-is-casefolded.c: New file.
12959         * modules/unicase/u32-is-casefolded: New file.
12960
12961         New module 'unicase/u16-is-casefolded'.
12962         * lib/unicase/u16-is-casefolded.c: New file.
12963         * modules/unicase/u16-is-casefolded: New file.
12964
12965         New module 'unicase/u8-is-casefolded'.
12966         * lib/unicase/u8-is-casefolded.c: New file.
12967         * modules/unicase/u8-is-casefolded: New file.
12968
12969         Tests for module 'unicase/u32-is-titlecase'.
12970         * modules/unicase/u32-is-titlecase-tests: New file.
12971         * tests/unicase/test-u32-is-titlecase.c: New file.
12972
12973         Tests for module 'unicase/u16-is-titlecase'.
12974         * modules/unicase/u16-is-titlecase-tests: New file.
12975         * tests/unicase/test-u16-is-titlecase.c: New file.
12976
12977         Tests for module 'unicase/u8-is-titlecase'.
12978         * modules/unicase/u8-is-titlecase-tests: New file.
12979         * tests/unicase/test-u8-is-titlecase.c: New file.
12980         * tests/unicase/test-is-titlecase.h: New file.
12981
12982         New module 'unicase/u32-is-titlecase'.
12983         * lib/unicase/u32-is-titlecase.c: New file.
12984         * modules/unicase/u32-is-titlecase: New file.
12985
12986         New module 'unicase/u16-is-titlecase'.
12987         * lib/unicase/u16-is-titlecase.c: New file.
12988         * modules/unicase/u16-is-titlecase: New file.
12989
12990         New module 'unicase/u8-is-titlecase'.
12991         * lib/unicase/u8-is-titlecase.c: New file.
12992         * modules/unicase/u8-is-titlecase: New file.
12993
12994         Tests for module 'unicase/u32-is-lowercase'.
12995         * modules/unicase/u32-is-lowercase-tests: New file.
12996         * tests/unicase/test-u32-is-lowercase.c: New file.
12997
12998         Tests for module 'unicase/u16-is-lowercase'.
12999         * modules/unicase/u16-is-lowercase-tests: New file.
13000         * tests/unicase/test-u16-is-lowercase.c: New file.
13001
13002         Tests for module 'unicase/u8-is-lowercase'.
13003         * modules/unicase/u8-is-lowercase-tests: New file.
13004         * tests/unicase/test-u8-is-lowercase.c: New file.
13005         * tests/unicase/test-is-lowercase.h: New file.
13006
13007         New module 'unicase/u32-is-lowercase'.
13008         * lib/unicase/u32-is-lowercase.c: New file.
13009         * modules/unicase/u32-is-lowercase: New file.
13010
13011         New module 'unicase/u16-is-lowercase'.
13012         * lib/unicase/u16-is-lowercase.c: New file.
13013         * modules/unicase/u16-is-lowercase: New file.
13014
13015         New module 'unicase/u8-is-lowercase'.
13016         * lib/unicase/u8-is-lowercase.c: New file.
13017         * modules/unicase/u8-is-lowercase: New file.
13018
13019         Tests for module 'unicase/u32-is-uppercase'.
13020         * modules/unicase/u32-is-uppercase-tests: New file.
13021         * tests/unicase/test-u32-is-uppercase.c: New file.
13022
13023         Tests for module 'unicase/u16-is-uppercase'.
13024         * modules/unicase/u16-is-uppercase-tests: New file.
13025         * tests/unicase/test-u16-is-uppercase.c: New file.
13026
13027         Tests for module 'unicase/u8-is-uppercase'.
13028         * modules/unicase/u8-is-uppercase-tests: New file.
13029         * tests/unicase/test-u8-is-uppercase.c: New file.
13030         * tests/unicase/test-is-uppercase.h: New file.
13031
13032         New module 'unicase/u32-is-uppercase'.
13033         * lib/unicase/u32-is-uppercase.c: New file.
13034         * modules/unicase/u32-is-uppercase: New file.
13035
13036         New module 'unicase/u16-is-uppercase'.
13037         * lib/unicase/u16-is-uppercase.c: New file.
13038         * modules/unicase/u16-is-uppercase: New file.
13039
13040         New module 'unicase/u8-is-uppercase'.
13041         * lib/unicase/u8-is-uppercase.c: New file.
13042         * modules/unicase/u8-is-uppercase: New file.
13043
13044         New module 'unicase/u32-is-invariant'.
13045         * lib/unicase/u32-is-invariant.c: New file.
13046         * modules/unicase/u32-is-invariant: New file.
13047
13048         New module 'unicase/u16-is-invariant'.
13049         * lib/unicase/u16-is-invariant.c: New file.
13050         * modules/unicase/u16-is-invariant: New file.
13051
13052         New module 'unicase/u8-is-invariant'.
13053         * lib/unicase/u8-is-invariant.c: New file.
13054         * lib/unicase/invariant.h: New file.
13055         * lib/unicase/u-is-invariant.h: New file.
13056         * modules/unicase/u8-is-invariant: New file.
13057
13058         Tests for module 'unicase/u32-casecoll'.
13059         * modules/unicase/u32-casecoll-tests: New file.
13060         * tests/unicase/test-u32-casecoll.c: New file.
13061
13062         Tests for module 'unicase/u16-casecoll'.
13063         * modules/unicase/u16-casecoll-tests: New file.
13064         * tests/unicase/test-u16-casecoll.c: New file.
13065
13066         Tests for module 'unicase/u8-casecoll'.
13067         * modules/unicase/u8-casecoll-tests: New file.
13068         * tests/unicase/test-u8-casecoll.c: New file.
13069
13070         New module 'unicase/u32-casecoll'.
13071         * lib/unicase/u32-casecoll.c: New file.
13072         * modules/unicase/u32-casecoll: New file.
13073
13074         New module 'unicase/u16-casecoll'.
13075         * lib/unicase/u16-casecoll.c: New file.
13076         * modules/unicase/u16-casecoll: New file.
13077
13078         New module 'unicase/u8-casecoll'.
13079         * lib/unicase/u8-casecoll.c: New file.
13080         * lib/unicase/u-casecoll.h: New file.
13081         * modules/unicase/u8-casecoll: New file.
13082
13083         New module 'unicase/u32-casexfrm'.
13084         * lib/unicase/u32-casexfrm.c: New file.
13085         * modules/unicase/u32-casexfrm: New file.
13086
13087         New module 'unicase/u16-casexfrm'.
13088         * lib/unicase/u16-casexfrm.c: New file.
13089         * modules/unicase/u16-casexfrm: New file.
13090
13091         New module 'unicase/u8-casexfrm'.
13092         * lib/unicase/u8-casexfrm.c: New file.
13093         * lib/unicase/u-casexfrm.h: New file.
13094         * modules/unicase/u8-casexfrm: New file.
13095
13096         Tests for module 'unicase/u32-casecmp'.
13097         * modules/unicase/u32-casecmp-tests: New file.
13098         * tests/unicase/test-u32-casecmp.c: New file.
13099
13100         Tests for module 'unicase/u16-casecmp'.
13101         * modules/unicase/u16-casecmp-tests: New file.
13102         * tests/unicase/test-u16-casecmp.c: New file.
13103
13104         Tests for module 'unicase/u8-casecmp'.
13105         * modules/unicase/u8-casecmp-tests: New file.
13106         * tests/unicase/test-u8-casecmp.c: New file.
13107         * tests/unicase/test-casecmp.h: New file.
13108
13109         New module 'unicase/u32-casecmp'.
13110         * lib/unicase/u32-casecmp.c: New file.
13111         * modules/unicase/u32-casecmp: New file.
13112
13113         New module 'unicase/u16-casecmp'.
13114         * lib/unicase/u16-casecmp.c: New file.
13115         * modules/unicase/u16-casecmp: New file.
13116
13117         New module 'unicase/u8-casecmp'.
13118         * lib/unicase/u8-casecmp.c: New file.
13119         * lib/unicase/u-casecmp.h: New file.
13120         * modules/unicase/u8-casecmp: New file.
13121
13122         Tests for module 'unicase/u32-casefold'.
13123         * modules/unicase/u32-casefold-tests: New file.
13124         * tests/unicase/test-u32-casefold.c: New file.
13125
13126         Tests for module 'unicase/u16-casefold'.
13127         * modules/unicase/u16-casefold-tests: New file.
13128         * tests/unicase/test-u16-casefold.c: New file.
13129
13130         Tests for module 'unicase/u8-casefold'.
13131         * modules/unicase/u8-casefold-tests: New file.
13132         * tests/unicase/test-u8-casefold.c: New file.
13133
13134         New module 'unicase/u32-casefold'.
13135         * lib/unicase/u32-casefold.c: New file.
13136         * modules/unicase/u32-casefold: New file.
13137
13138         New module 'unicase/u16-casefold'.
13139         * lib/unicase/u16-casefold.c: New file.
13140         * modules/unicase/u16-casefold: New file.
13141
13142         New module 'unicase/u8-casefold'.
13143         * lib/unicase/u8-casefold.c: New file.
13144         * lib/unicase/u-casefold.h: New file.
13145         * modules/unicase/u8-casefold: New file.
13146
13147         New module 'unicase/tocasefold'.
13148         * lib/unicase/casefold.h: New file.
13149         * lib/unicase/tocasefold.c: New file.
13150         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
13151         * modules/unicase/tocasefold: New file.
13152
13153         Tests for module 'unicase/u32-totitle'.
13154         * modules/unicase/u32-totitle-tests: New file.
13155         * tests/unicase/test-u32-totitle.c: New file.
13156
13157         Tests for module 'unicase/u16-totitle'.
13158         * modules/unicase/u16-totitle-tests: New file.
13159         * tests/unicase/test-u16-totitle.c: New file.
13160
13161         Tests for module 'unicase/u8-totitle'.
13162         * modules/unicase/u8-totitle-tests: New file.
13163         * tests/unicase/test-u8-totitle.c: New file.
13164
13165         New module 'unicase/u32-totitle'.
13166         * lib/unicase/u32-totitle.c: New file.
13167         * modules/unicase/u32-totitle: New file.
13168
13169         New module 'unicase/u16-totitle'.
13170         * lib/unicase/u16-totitle.c: New file.
13171         * modules/unicase/u16-totitle: New file.
13172
13173         New module 'unicase/u8-totitle'.
13174         * lib/unicase/u8-totitle.c: New file.
13175         * lib/unicase/u-totitle.h: New file.
13176         * modules/unicase/u8-totitle: New file.
13177
13178         Tests for module 'unicase/u32-tolower'.
13179         * modules/unicase/u32-tolower-tests: New file.
13180         * tests/unicase/test-u32-tolower.c: New file.
13181
13182         Tests for module 'unicase/u16-tolower'.
13183         * modules/unicase/u16-tolower-tests: New file.
13184         * tests/unicase/test-u16-tolower.c: New file.
13185
13186         Tests for module 'unicase/u8-tolower'.
13187         * modules/unicase/u8-tolower-tests: New file.
13188         * tests/unicase/test-u8-tolower.c: New file.
13189
13190         New module 'unicase/u32-tolower'.
13191         * lib/unicase/u32-tolower.c: New file.
13192         * modules/unicase/u32-tolower: New file.
13193
13194         New module 'unicase/u16-tolower'.
13195         * lib/unicase/u16-tolower.c: New file.
13196         * modules/unicase/u16-tolower: New file.
13197
13198         New module 'unicase/u8-tolower'.
13199         * lib/unicase/u8-tolower.c: New file.
13200         * modules/unicase/u8-tolower: New file.
13201
13202         Tests for module 'unicase/u32-toupper'.
13203         * modules/unicase/u32-toupper-tests: New file.
13204         * tests/unicase/test-u32-toupper.c: New file.
13205
13206         Tests for module 'unicase/u16-toupper'.
13207         * modules/unicase/u16-toupper-tests: New file.
13208         * tests/unicase/test-u16-toupper.c: New file.
13209
13210         Tests for module 'unicase/u8-toupper'.
13211         * modules/unicase/u8-toupper-tests: New file.
13212         * tests/unicase/test-u8-toupper.c: New file.
13213
13214         New module 'unicase/u32-toupper'.
13215         * lib/unicase/u32-toupper.c: New file.
13216         * modules/unicase/u32-toupper: New file.
13217
13218         New module 'unicase/u16-toupper'.
13219         * lib/unicase/u16-toupper.c: New file.
13220         * modules/unicase/u16-toupper: New file.
13221
13222         New module 'unicase/u8-toupper'.
13223         * lib/unicase/u8-toupper.c: New file.
13224         * modules/unicase/u8-toupper: New file.
13225
13226         New module 'unicase/u32-casemap'.
13227         * lib/unicase/u32-casemap.c: New file.
13228         * modules/unicase/u32-casemap: New file.
13229
13230         New module 'unicase/u16-casemap'.
13231         * lib/unicase/u16-casemap.c: New file.
13232         * modules/unicase/u16-casemap: New file.
13233
13234         New module 'unicase/u8-casemap'.
13235         * lib/unicase/unicasemap.h: New file.
13236         * lib/unicase/u8-casemap.c: New file.
13237         * lib/unicase/u-casemap.h: New file.
13238         * modules/unicase/u8-casemap: New file.
13239
13240         New module 'unicase/special-casing'.
13241         * lib/unicase/special-casing.h: New file.
13242         * lib/unicase/special-casing.c: New file.
13243         * lib/unicase/special-casing-table.gperf: New file, generated by
13244         gen-uni-tables.c.
13245         * modules/unicase/special-casing: New file.
13246
13247         Tests for module 'unicase/locale-language'.
13248         * modules/unicase/locale-language-tests: New file.
13249         * tests/unicase/test-locale-language.sh: New file.
13250         * tests/unicase/test-locale-language.c: New file.
13251
13252         New module 'unicase/locale-language'.
13253         * lib/unicase/locale-language.c: New file.
13254         * lib/unicase/locale-languages.gperf: New file.
13255         * modules/unicase/locale-language: New file.
13256
13257         Generate more tables for case conversion and case folding.
13258         * lib/gen-uni-tables.c (SCC_*): New enum items.
13259         (struct special_casing_rule): New type.
13260         (casing_rules, num_casing_rules, allocated_casing_rules): New
13261         variables.
13262         (add_casing_rule, fill_casing_rules): New functions.
13263         (struct casefold_rule): New type.
13264         (casefolding_rules, num_casefolding_rules,
13265         allocated_casefolding_rules): New variables.
13266         (fill_casefolding_rules): New function.
13267         (unicode_casefold): New variable.
13268         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
13269         sort_casing_rules, output_casing_rules): New functions.
13270         (main): Accept to more arguments: SpecialCasing.txt and
13271         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
13272         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
13273         Output mapping for casefolding.
13274
13275         * lib/unicase.h: Include stdbool.h, uninorm.h.
13276         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
13277         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
13278         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
13279         arguments.
13280         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
13281         resultp arguments.
13282         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
13283         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
13284         resultp arguments.
13285         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
13286         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
13287         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
13288         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
13289         declarations.
13290         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
13291
13292 2009-03-08  Bruno Haible  <bruno@clisp.org>
13293
13294         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
13295         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
13296         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
13297         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
13298
13299 2009-03-07  Bruno Haible  <bruno@clisp.org>
13300
13301         Adjust u*_normcmp, u*_normcoll API.
13302         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
13303         u16_normcoll, u32_normcoll): Change failure conventions.
13304         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
13305         errno and return -1.
13306         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
13307
13308 2009-03-07  Bruno Haible  <bruno@clisp.org>
13309
13310         Tests for module 'uninorm/u32-normcoll'.
13311         * modules/uninorm/u32-normcoll-tests: New file.
13312         * tests/uninorm/test-u32-normcoll.c: New file.
13313
13314         Tests for module 'uninorm/u16-normcoll'.
13315         * modules/uninorm/u16-normcoll-tests: New file.
13316         * tests/uninorm/test-u16-normcoll.c: New file.
13317
13318         Tests for module 'uninorm/u8-normcoll'.
13319         * modules/uninorm/u8-normcoll-tests: New file.
13320         * tests/uninorm/test-u8-normcoll.c: New file.
13321
13322 2009-03-07  Bruno Haible  <bruno@clisp.org>
13323
13324         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
13325         tests/uninorm/test-u32-normcmp.c.
13326         * tests/uninorm/test-u32-normcmp.c: Include it.
13327         (test_nonascii): New function, extracted from main. Add some more
13328         tests.
13329         (main): Invoke test_ascii and test_nonascii.
13330         * modules/uninorm/u32-normcmp-tests (Files): Add
13331         tests/uninorm/test-u32-normcmp.h.
13332         (Depends-on): Remove uninorm/u32-normcmp.
13333
13334         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
13335         tests/uninorm/test-u16-normcmp.c.
13336         * tests/uninorm/test-u16-normcmp.c: Include it.
13337         (test_nonascii): New function, extracted from main. Add some more
13338         tests.
13339         (main): Invoke test_ascii and test_nonascii.
13340         * modules/uninorm/u16-normcmp-tests (Files): Add
13341         tests/uninorm/test-u16-normcmp.h.
13342         (Depends-on): Remove uninorm/u16-normcmp.
13343
13344         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
13345         tests/uninorm/test-u8-normcmp.c.
13346         * tests/uninorm/test-u8-normcmp.c: Include it.
13347         (test_nonascii): New function, extracted from main. Add some more
13348         tests.
13349         (main): Invoke test_ascii and test_nonascii.
13350         * modules/uninorm/u8-normcmp-tests (Files): Add
13351         tests/uninorm/test-u8-normcmp.h.
13352         (Depends-on): Remove uninorm/u8-normcmp.
13353
13354 2009-03-07  Bruno Haible  <bruno@clisp.org>
13355
13356         New module 'uninorm/u32-normcoll'.
13357         * lib/uninorm/u32-normcoll.c: New file.
13358         * modules/uninorm/u32-normcoll: New file.
13359
13360         New module 'uninorm/u16-normcoll'.
13361         * lib/uninorm/u16-normcoll.c: New file.
13362         * modules/uninorm/u16-normcoll: New file.
13363
13364         New module 'uninorm/u8-normcoll'.
13365         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
13366         declarations.
13367         * lib/uninorm/u8-normcoll.c: New file.
13368         * lib/uninorm/u-normcoll.h: New file.
13369         * modules/uninorm/u8-normcoll: New file.
13370
13371         New module 'uninorm/u32-normxfrm'.
13372         * lib/uninorm/u32-normxfrm.c: New file.
13373         * modules/uninorm/u32-normxfrm: New file.
13374
13375         New module 'uninorm/u16-normxfrm'.
13376         * lib/uninorm/u16-normxfrm.c: New file.
13377         * modules/uninorm/u16-normxfrm: New file.
13378
13379         New module 'uninorm/u8-normxfrm'.
13380         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
13381         declarations.
13382         * lib/uninorm/u8-normxfrm.c: New file.
13383         * lib/uninorm/u-normxfrm.h: New file.
13384         * modules/uninorm/u8-normxfrm: New file.
13385
13386 2009-03-07  Bruno Haible  <bruno@clisp.org>
13387
13388         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
13389         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
13390         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
13391
13392 2009-03-07  Bruno Haible  <bruno@clisp.org>
13393
13394         New module 'memxfrm'.
13395         * lib/memxfrm.h: New file.
13396         * lib/memxfrm.c: New file.
13397         * modules/memxfrm: New file.
13398
13399 2009-03-07  Bruno Haible  <bruno@clisp.org>
13400
13401         New module 'memcmp2'.
13402         * lib/memcmp2.h: New file.
13403         * lib/memcmp2.c: New file.
13404         * modules/memcmp2: New file.
13405
13406 2009-03-07  Bruno Haible  <bruno@clisp.org>
13407
13408         Tests for module 'uninorm/decomposing-form'.
13409         * modules/uninorm/decomposing-form-tests: New file.
13410         * tests/uninorm/test-decomposing-form.c: New file.
13411
13412         New module 'uninorm/decomposing-form'.
13413         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
13414         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
13415         Add 'decomposing_variant' field.
13416         * lib/uninorm/decomposing-form.c: New file.
13417         * lib/uninorm/nfc.c (uninorm_nfc): Update.
13418         * lib/uninorm/nfd.c (uninorm_nfd): Update.
13419         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
13420         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
13421         * modules/uninorm/decomposing-form: New file.
13422         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
13423         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
13424
13425 2009-03-07  Bruno Haible  <bruno@clisp.org>
13426
13427         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
13428         strings.
13429
13430 2009-03-06  Bruno Haible  <bruno@clisp.org>
13431
13432         Tests for module 'uninorm/u32-normcmp'.
13433         * tests/uninorm/test-u32-normcmp.c: New file.
13434         * modules/uninorm/u32-normcmp-tests: New file.
13435
13436         Tests for module 'uninorm/u16-normcmp'.
13437         * tests/uninorm/test-u16-normcmp.c: New file.
13438         * modules/uninorm/u16-normcmp-tests: New file.
13439
13440         Tests for module 'uninorm/u8-normcmp'.
13441         * tests/uninorm/test-u8-normcmp.c: New file.
13442         * modules/uninorm/u8-normcmp-tests: New file.
13443
13444         New module 'uninorm/u32-normcmp'.
13445         * lib/uninorm/u32-normcmp.c: New file.
13446         * modules/uninorm/u32-normcmp: New file.
13447
13448         New module 'uninorm/u16-normcmp'.
13449         * lib/uninorm/u16-normcmp.c: New file.
13450         * modules/uninorm/u16-normcmp: New file.
13451
13452         New module 'uninorm/u8-normcmp'.
13453         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
13454         declarations.
13455         * lib/uninorm/u8-normcmp.c: New file.
13456         * lib/uninorm/u-normcmp.h: New file.
13457         * modules/uninorm/u8-normcmp: New file.
13458
13459 2009-03-06  Bruno Haible  <bruno@clisp.org>
13460
13461         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
13462         Reported by Eric Blake.
13463
13464 2009-03-06  Eric Blake  <ebb9@byu.net>
13465             Bruno Haible  <bruno@clisp.org>
13466
13467         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
13468         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
13469         condition.
13470         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13471         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
13472         condition.
13473         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13474
13475 2009-03-06  Eric Blake  <ebb9@byu.net>
13476
13477         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
13478         to avoid compiler warnings.
13479         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
13480
13481 2009-03-05  Bruno Haible  <bruno@clisp.org>
13482
13483         * tests/test-ftell.c (main): Disable test beyond end of file on
13484         FreeMiNT.
13485         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
13486
13487 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
13488
13489         * lib/filevercmp.c: Move hidden files up in ordering.
13490         * tests/test-filevercmp.c: Add tests for hidden files.
13491
13492 2009-03-04  Bruno Haible  <bruno@clisp.org>
13493
13494         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
13495         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
13496         AM_CFLAGS.
13497         Reported by Simon Josefsson.
13498
13499 2009-03-03  Bruno Haible  <bruno@clisp.org>
13500
13501         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
13502         Reported by Simon Josefsson.
13503
13504         * doc/ld-version-script.texi: Update node reference.
13505
13506 2009-03-03  Bruno Haible  <bruno@clisp.org>
13507
13508         * modules/visibility (License): Change to 'unlimited'.
13509         Suggested by Simon Josefsson.
13510
13511 2009-03-03  Jim Meyering  <meyering@redhat.com>
13512
13513         unlinkdir: cannot_unlink_dir may modify process state
13514         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
13515         it's neither thread-safe nor appropriate for use in a library.
13516
13517 2009-03-03  Eric Blake  <ebb9@byu.net>
13518
13519         test-closein: silence test under Darwin
13520         * tests/test-closein.sh: Ignore stderr from cat, since we don't
13521         care if it dies from EPIPE or EBADF.
13522
13523 2009-03-03  Bruno Haible  <bruno@clisp.org>
13524
13525         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
13526         earlier.
13527         * doc/visibility.texi: Fix @node and @section.
13528
13529 2009-03-03  Simon Josefsson  <simon@josefsson.org>
13530
13531         * doc/gnulib.texi: Link to sections for ld version script and
13532         visibility.
13533         * doc/visibility.texi: Add @node and @section.
13534         * modules/ld-version-script: New module.
13535         * m4/ld-version-script.m4: New file.
13536         * doc/ld-version-script.texi: New file.
13537
13538 2009-03-02  David Lutterkort  <lutter@redhat.com>
13539
13540         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
13541         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13542
13543 2009-03-02  Bruno Haible  <bruno@clisp.org>
13544
13545         * doc/visibility.texi: Mention libtool's -export-symbols option.
13546
13547 2009-03-02  Jim Meyering  <meyering@redhat.com>
13548
13549         announce-gen: new option: --no-print-checksums
13550         * build-aux/announce-gen (usage): Describe it.
13551         (print_checksums): Print a newline here, not in the [*] footnote.
13552         (main): Honor it.
13553
13554 2009-03-01  Bruno Haible  <bruno@clisp.org>
13555
13556         Use socklen_t in the native Windows replacements prototypes.
13557         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
13558         instead of 'int'.
13559         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13560         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13561         * modules/getsockopt (Depends-on): Add socklen.
13562         * modules/setsockopt (Depends-on): Add socklen.
13563
13564 2009-03-01  Bruno Haible  <bruno@clisp.org>
13565
13566         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
13567         least 4.2.
13568
13569 2009-03-01  Eric Blake  <ebb9@byu.net>
13570             Bruno Haible  <bruno@clisp.org>
13571
13572         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
13573         error messages.
13574         * lib/wait-process.c (wait_subprocess): Omit error message about
13575         deadly signal sent to the child of termsigp != NULL.
13576
13577 2009-03-01  Eric Blake  <ebb9@byu.net>
13578
13579         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
13580
13581 2009-03-01  Bruno Haible  <bruno@clisp.org>
13582
13583         Avoid a gcc warning.
13584         * tests/test-sched.c (b): Make global.
13585         Reported by Eric Blake.
13586
13587 2009-01-19  Martin Lambers  <marlam@marlam.de>
13588
13589         Provide POSIX semantics for socket timeout options on W32.
13590         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
13591         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
13592         * modules/setsockopt: Depend on sys_time module for struct timeval.
13593         * modules/getsockopt: Depend on sys_time module for struct timeval.
13594
13595 2009-03-01  Simon Josefsson  <simon@josefsson.org>
13596
13597         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
13598         __USE_GNU, for consistency with netdb.in.h.
13599         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13600
13601 2009-03-01  Bruno Haible  <bruno@clisp.org>
13602
13603         More support for FreeMiNT.
13604         * lib/fseeko.c (rpl_fseeko): Complete last commit.
13605         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13606
13607 2009-03-01  Bruno Haible  <bruno@clisp.org>
13608
13609         More support for FreeMiNT.
13610         * lib/fpurge.c (fpurge): Correct last commit.
13611         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13612
13613 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13614
13615         Fix unportable awk script in vc-list-files.
13616         * build-aux/vc-list-files: In the replacement awk script, use
13617         substr with a second argument of 1, not zero.
13618         Report by Simon Josefsson.
13619
13620 2009-02-28  Bruno Haible  <bruno@clisp.org>
13621
13622         More support for FreeMiNT.
13623         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
13624         to FreeMiNT today.
13625         * lib/fwriting.c (fwriting): Likewise.
13626         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
13627
13628 2009-02-28  Bruno Haible  <bruno@clisp.org>
13629
13630         * tests/test-freadseek.c (main): Disable test beyond end of file on
13631         FreeMiNT.
13632         * tests/test-ftello.c (main): Likewise.
13633         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
13634
13635 2009-02-28  Bruno Haible  <bruno@clisp.org>
13636
13637         Add tentative support for FreeMiNT.
13638         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
13639         * lib/fpurge.c (fpurge): Likewise.
13640         * lib/freadable.c (freadable): Likewise.
13641         * lib/freading.c (freading): Likewise.
13642         * lib/freadptr.c (freadptr): Likewise.
13643         * lib/freadseek.c (freadptrinc): Likewise.
13644         * lib/fseeko.c (rpl_fseeko): Likewise.
13645         * lib/fseterr.c (fseterr): Likewise.
13646         * lib/fwritable.c (fwritable): Likewise.
13647         * lib/fwriting.c (fwriting): Likewise.
13648         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
13649         Hourihane.
13650         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13651
13652 2009-02-28  Bruno Haible  <bruno@clisp.org>
13653
13654         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
13655         SIGCHLD.
13656         Reported by Jim Meyering.
13657
13658 2009-02-28  Bruno Haible  <bruno@clisp.org>
13659
13660         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
13661         Mention the results of these tests on various platforms.
13662         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
13663         order.
13664         * doc/posix-functions/printf.texi: Likewise.
13665         * doc/posix-functions/snprintf.texi: Likewise.
13666         * doc/posix-functions/sprintf.texi: Likewise.
13667         * doc/posix-functions/vfprintf.texi: Likewise.
13668         * doc/posix-functions/vprintf.texi: Likewise.
13669         * doc/posix-functions/vsnprintf.texi: Likewise.
13670         * doc/posix-functions/vsprintf.texi: Likewise.
13671         * doc/glibc-functions/obstack_printf.texi: Likewise.
13672         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13673
13674 2009-02-28  Bruno Haible  <bruno@clisp.org>
13675
13676         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
13677         Reported by Loïc Minier <lool@dooz.org>.
13678
13679 2009-02-27  Bruno Haible  <bruno@clisp.org>
13680
13681         * gnulib-tool (func_import): Make the sed expression used to create the
13682         sed script for updating the .gitignore file POSIX compliant.
13683         Reported by Eric Blake.
13684
13685 2009-02-27  Bruno Haible  <bruno@clisp.org>
13686
13687         * gnulib-tool (sed): Don't alias as "sed --posix".
13688         Reported by Eric Blake.
13689
13690 2009-02-27  Bruno Haible  <bruno@clisp.org>
13691
13692         Avoid test link errors.
13693         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
13694         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
13695         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
13696         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
13697         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13698
13699 2009-02-27  Bruno Haible  <bruno@clisp.org>
13700
13701         Avoid spurious "(cached)" in configure output.
13702         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
13703         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
13704         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
13705         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
13706         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
13707         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
13708         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
13709         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
13710         Reported by Eric Blake.
13711
13712 2009-02-27  Eric Blake  <ebb9@byu.net>
13713
13714         printf: fix regression in previous patch
13715         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
13716
13717 2009-02-27  Bruno Haible  <bruno@clisp.org>
13718
13719         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
13720         value.
13721         * lib/stdint.in.h: Likewise.
13722         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
13723
13724 2009-02-27  Eric Blake  <ebb9@byu.net>
13725
13726         doc: mention more functions added in cygwin 1.7.0
13727         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
13728         addition.
13729         * doc/posix-functions/open_wmemstream.texi: Likewise.
13730         * doc/posix-functions/wcsnlen.texi: Likewise.
13731         * doc/posix-functions/wcsnrtombs.texi: Likewise.
13732         * doc/posix-functions/wcstod.texi: Likewise.
13733         * doc/posix-functions/wcstof.texi: Likewise.
13734         * doc/posix-functions/wcstoimax.texi: Likewise.
13735         * doc/posix-functions/wcstok.texi: Likewise.
13736         * doc/posix-functions/wcstoumax.texi: Likewise.
13737
13738         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
13739         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
13740         * doc/posix-functions/fprintf.texi: Update.
13741         * doc/posix-functions/printf.texi: Update.
13742         * doc/posix-functions/snprintf.texi: Update.
13743         * doc/posix-functions/sprintf.texi: Update.
13744         * doc/posix-functions/vfprintf.texi: Update.
13745         * doc/posix-functions/vprintf.texi: Update.
13746         * doc/posix-functions/vsnprintf.texi: Update.
13747         * doc/posix-functions/vsprintf.texi: Update.
13748         * doc/glibc-functions/obstack_printf.texi: Update.
13749         * doc/glibc-functions/obstack_vprintf.texi: Update.
13750
13751 2009-02-26  Eric Blake  <ebb9@byu.net>
13752
13753         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
13754         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
13755         compilation bug by using runtime conversion.
13756         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13757         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
13758         * modules/ceill-tests (Files): Use nan.h.
13759         * modules/floorl-tests (Files): Likewise.
13760         * modules/frexpl-tests (Files): Likewise.
13761         * modules/isnanl-tests (Files): Likewise.
13762         * modules/ldexpl-tests (Files): Likewise.
13763         * modules/roundl-tests (Files): Likewise.
13764         * modules/truncl-tests (Files): Likewise.
13765         * tests/test-ceill.c (main): Use a working NaN.
13766         * tests/test-floorl.c (main): Likewise.
13767         * tests/test-frexpl.c (main): Likewise.
13768         * tests/test-isnan.c (test_long_double): Likewise.
13769         * tests/test-isnanl.h (main): Likewise.
13770         * tests/test-ldexpl.h (main): Likewise.
13771         * tests/test-roundl.h (main): Likewise.
13772         * tests/test-truncl.h (main): Likewise.
13773         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
13774
13775 2009-02-26  Eric Blake  <ebb9@byu.net>
13776             Bruno Haible  <bruno@clisp.org>
13777
13778         Work around a *printf bug with %ls on Solaris.
13779         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
13780         precision is specified, sprintf stops converting the wide string
13781         argument when the number of bytes that have been produced by this
13782         conversion equals or exceeds the precision.
13783         * doc/posix-functions/fprintf.texi: Update.
13784         * doc/posix-functions/printf.texi: Update.
13785         * doc/posix-functions/snprintf.texi: Update.
13786         * doc/posix-functions/sprintf.texi: Update.
13787         * doc/posix-functions/vfprintf.texi: Update.
13788         * doc/posix-functions/vprintf.texi: Update.
13789         * doc/posix-functions/vsnprintf.texi: Update.
13790         * doc/posix-functions/vsprintf.texi: Update.
13791         * doc/glibc-functions/obstack_printf.texi: Update.
13792         * doc/glibc-functions/obstack_vprintf.texi: Update.
13793
13794 2009-02-26  Eric Blake  <ebb9@byu.net>
13795
13796         stdlib: favor compiler check of random.h
13797         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
13798         to avoid an ObjC random.h installed by Swarm.
13799
13800 2009-02-26  Bruno Haible  <bruno@clisp.org>
13801
13802         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
13803         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
13804         Reported by Gary V. Vaughan <gary@gnu.org>.
13805
13806 2009-02-26  Bruno Haible  <bruno@clisp.org>
13807
13808         Fix *printf behaviour regarding the %ls directive.
13809         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
13810         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
13811         NEED_PRINTF_DIRECTIVE_LS.
13812         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
13813         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
13814         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
13815         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
13816         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
13817         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
13818         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
13819         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
13820         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
13821         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
13822         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
13823         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
13824         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
13825         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
13826         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
13827         * doc/posix-functions/fprintf.texi: Update.
13828         * doc/posix-functions/printf.texi: Update.
13829         * doc/posix-functions/snprintf.texi: Update.
13830         * doc/posix-functions/sprintf.texi: Update.
13831         * doc/posix-functions/vfprintf.texi: Update.
13832         * doc/posix-functions/vprintf.texi: Update.
13833         * doc/posix-functions/vsnprintf.texi: Update.
13834         * doc/posix-functions/vsprintf.texi: Update.
13835         * doc/glibc-functions/obstack_printf.texi: Update.
13836         * doc/glibc-functions/obstack_vprintf.texi: Update.
13837         Reported by Eric Blake.
13838
13839 2009-02-25  Bruno Haible  <bruno@clisp.org>
13840
13841         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
13842         with known value.
13843         Reported by Gary V. Vaughan <gary@gnu.org>.
13844
13845 2009-02-25  Bruno Haible  <bruno@clisp.org>
13846
13847         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
13848         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
13849         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
13850         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
13851         Reported by Gary V. Vaughan <gary@gnu.org>.
13852
13853 2009-02-25  Bruno Haible  <bruno@clisp.org>
13854
13855         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
13856         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
13857         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
13858         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
13859         Reported by Gary V. Vaughan <gary@gnu.org>.
13860
13861 2009-02-25  Eric Blake  <ebb9@byu.net>
13862
13863         tests: skip fseek/ftell tests if ungetc is broken
13864         * m4/ungetc.m4: New file.
13865         * modules/fseek-tests: Split test, so ungetc dependency is
13866         separate from rest of test.
13867         * modules/fseeko-tests: Likewise.
13868         * modules/ftell-tests: Likewise.
13869         * modules/ftello-tests: Likewise.
13870         * tests/test-fseek.c (main): Isolate ungetc dependency.
13871         * tests/test-fseeko.c (main): Likewise.
13872         * tests/test-ftell.c (main): Likewise.
13873         * tests/test-ftello.c (main): Likewise.
13874         * tests/test-fseek2.sh: New file.
13875         * tests/test-fseeko2.sh: Likewise.
13876         * tests/test-ftell2.sh: Likewise.
13877         * tests/test-ftello2.sh: Likewise.
13878
13879 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
13880
13881         test-getaddrinfo: fix usage of skip return code 77
13882         * tests/test-gettaddrinfo.c: Return skip code 77 only
13883         for first occurance of skip (4x77 is not 77)
13884
13885 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
13886
13887         strtod: avoid C99 decl-after-statement
13888         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
13889
13890 2009-02-24  Eric Blake  <ebb9@byu.net>
13891
13892         strtod: detect HP-UX 11.31 bug
13893         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
13894         Reported by Gary V. Vaughan.
13895
13896 2009-02-23  Bruno Haible  <bruno@clisp.org>
13897
13898         Fix invalid read past end of memory block.
13899         * lib/vasnprintf.c (DCHAR_SET): Define.
13900         (local_wcslen): Define only when needed.
13901         (local_strnlen, local_wcsnlen): New functions.
13902         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
13903         directives that involve a conversion ourselves.
13904         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
13905         wcsnlen, mbrtowc, wcrtomb.
13906         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
13907         * tests/test-vasprintf-posix.c (test_function): Likewise.
13908         * tests/test-snprintf-posix.h (test_function): Likewise.
13909         * tests/test-sprintf-posix.h (test_function): Likewise.
13910         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13911
13912 2009-02-22  Bruno Haible  <bruno@clisp.org>
13913
13914         Implement new clarified decomposition of Hangul syllables.
13915         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
13916         of type LTV, return only a pairwise decomposition.
13917         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
13918         Likewise.
13919         * tests/uninorm/test-decomposition.c (main): Updated expected result.
13920         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
13921         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
13922
13923 2009-02-22  Bruno Haible  <bruno@clisp.org>
13924
13925         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
13926         zero-length results and shrink excess allocated memory.
13927         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
13928         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
13929         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
13930         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
13931         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
13932         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
13933         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
13934         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
13935         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
13936         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
13937         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
13938         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
13939
13940 2009-02-21  Bruno Haible  <bruno@clisp.org>
13941
13942         * doc/gnulib.texi: Include safe-alloc.texi earlier.
13943         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
13944         spaces after a period. Put a space between a macro name and its
13945         argument list. Trivial rewordings.
13946         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
13947         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
13948         (main): Return 0 explicitly.
13949
13950 2009-02-21  Bruno Haible  <bruno@clisp.org>
13951
13952         Tests for module 'uninorm/filter'.
13953         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
13954         * modules/uninorm/filter-tests: New file.
13955
13956         New module 'uninorm/filter'.
13957         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
13958         uninorm_filter_flush, uninorm_filter_free): New declarations.
13959         * lib/uninorm/uninorm-filter.c: New file.
13960         * modules/uninorm/filter: New file.
13961
13962 2009-02-21  Bruno Haible  <bruno@clisp.org>
13963
13964         Tests for module 'uninorm/nfkc'.
13965         * tests/uninorm/test-nfkc.c: New file.
13966         * tests/uninorm/test-u8-nfkc.c: New file.
13967         * tests/uninorm/test-u16-nfkc.c: New file.
13968         * tests/uninorm/test-u32-nfkc.c: New file.
13969         * tests/uninorm/test-u32-nfkc-big.sh: New file.
13970         * tests/uninorm/test-u32-nfkc-big.c: New file.
13971         * modules/uninorm/nfkc-tests: New file.
13972
13973         New module 'uninorm/nfkc'.
13974         * lib/uninorm/nfkc.c: New file.
13975         * modules/uninorm/nfkc: New file.
13976
13977         Tests for module 'uninorm/nfkd'.
13978         * tests/uninorm/test-nfkd.c: New file.
13979         * tests/uninorm/test-u8-nfkd.c: New file.
13980         * tests/uninorm/test-u16-nfkd.c: New file.
13981         * tests/uninorm/test-u32-nfkd.c: New file.
13982         * tests/uninorm/test-u32-nfkd-big.sh: New file.
13983         * tests/uninorm/test-u32-nfkd-big.c: New file.
13984         * modules/uninorm/nfkd-tests: New file.
13985
13986         New module 'uninorm/nfkd'.
13987         * lib/uninorm/nfkd.c: New file.
13988         * modules/uninorm/nfkd: New file.
13989
13990         Tests for module 'uninorm/nfc'.
13991         * tests/uninorm/test-nfc.c: New file.
13992         * tests/uninorm/test-u8-nfc.c: New file.
13993         * tests/uninorm/test-u16-nfc.c: New file.
13994         * tests/uninorm/test-u32-nfc.c: New file.
13995         * tests/uninorm/test-u32-nfc-big.sh: New file.
13996         * tests/uninorm/test-u32-nfc-big.c: New file.
13997         * modules/uninorm/nfc-tests: New file.
13998
13999         New module 'uninorm/nfc'.
14000         * lib/uninorm/nfc.c: New file.
14001         * modules/uninorm/nfc: New file.
14002
14003         Tests for module 'uninorm/nfd'.
14004         * tests/uninorm/test-nfd.c: New file.
14005         * tests/uninorm/test-u8-nfd.c: New file.
14006         * tests/uninorm/test-u16-nfd.c: New file.
14007         * tests/uninorm/test-u32-nfd.c: New file.
14008         * tests/uninorm/test-u32-nfd-big.sh: New file.
14009         * tests/uninorm/test-u32-nfd-big.c: New file.
14010         * tests/uninorm/test-u32-normalize-big.h: New file.
14011         * tests/uninorm/test-u32-normalize-big.c: New file.
14012         * tests/uninorm/NormalizationTest.txt: New file, created from
14013         Unicode 5.1.0 NormalizationTest.txt.
14014         * modules/uninorm/nfd-tests: New file.
14015
14016         New module 'uninorm/nfd'.
14017         * lib/uninorm/nfd.c: New file.
14018         * modules/uninorm/nfd: New file.
14019
14020         New module 'uninorm/u32-normalize'.
14021         * lib/uninorm/u32-normalize.c: New file.
14022         * modules/uninorm/u32-normalize: New file.
14023
14024         New module 'uninorm/u16-normalize'.
14025         * lib/uninorm/u16-normalize.c: New file.
14026         * modules/uninorm/u16-normalize: New file.
14027
14028         New module 'uninorm/u8-normalize'.
14029         * lib/uninorm/u8-normalize.c: New file.
14030         * lib/uninorm/normalize-internal.h: New file.
14031         * lib/uninorm/u-normalize-internal.h: New file.
14032         * modules/uninorm/u8-normalize: New file.
14033
14034         New module 'uninorm/decompose-internal'.
14035         * lib/uninorm/decompose-internal.c: New file.
14036         * modules/uninorm/decompose-internal: New file.
14037
14038         Tests for module 'uninorm/composition'.
14039         * tests/uninorm/test-composition.c: New file.
14040         * modules/uninorm/composition-tests: New file.
14041
14042         New module 'uninorm/composition'.
14043         * lib/uninorm/composition.c: New file.
14044         * lib/uninorm/composition-table.gperf: New file, generated by
14045         gen-uni-tables.
14046         * modules/uninorm/composition: New file.
14047
14048         Tests for module 'uninorm/compat-decomposition'.
14049         * tests/uninorm/test-compat-decomposition.c: New file.
14050         * modules/uninorm/compat-decomposition-tests: New file.
14051
14052         New module 'uninorm/compat-decomposition'.
14053         * lib/uninorm/decompose-internal.h: New file.
14054         * lib/uninorm/compat-decomposition.c: New file.
14055         * modules/uninorm/compat-decomposition: New file.
14056
14057         Tests for module 'uninorm/canonical-decomposition'.
14058         * tests/uninorm/test-canonical-decomposition.c: New file.
14059         * modules/uninorm/canonical-decomposition-tests: New file.
14060
14061         New module 'uninorm/canonical-decomposition'.
14062         * lib/uninorm/canonical-decomposition.c: New file.
14063         * modules/uninorm/canonical-decomposition: New file.
14064
14065         Tests for module 'uninorm/decomposition'.
14066         * tests/uninorm/test-decomposition.c: New file.
14067         * modules/uninorm/decomposition-tests: New file.
14068
14069         New module 'uninorm/decomposition'.
14070         * lib/uninorm/decomposition.c: New file.
14071         * modules/uninorm/decomposition: New file.
14072
14073         New module 'uninorm/decomposition-table'.
14074         * lib/uninorm/decomposition-table.h: New file.
14075         * lib/uninorm/decomposition-table.c: New file.
14076         * lib/uninorm/decomposition-table1.h: New file, generated by
14077         gen-uni-tables.
14078         * lib/uninorm/decomposition-table2.h: New file, generated by
14079         gen-uni-tables.
14080         * modules/uninorm/decomposition-table: New file.
14081
14082         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
14083         (UC_DECOMP_*): New enumeration items.
14084         (get_decomposition): New function.
14085         (struct decomp_table): New type.
14086         (output_decomposition, output_decomposition_tables): New functions.
14087         (unicode_composition_exclusions): New variable.
14088         (fill_composition_exclusions, debug_output_composition_tables): New
14089         functions.
14090         (main): Accept one more argument. Invoke fill_composition_exclusions.
14091         Output decomposition and composition tables.
14092
14093         New module 'uninorm/base'.
14094         * lib/uninorm.h: New file.
14095         * lib/unictype.h: Update comment.
14096         * modules/uninorm/base: New file.
14097
14098 2009-02-21  David Lutterkort  <lutter@redhat.com>
14099
14100         Tests for module 'safe-alloc'.
14101         * tests/test-safe-alloc.c: New file.
14102         * modules/safe-alloc-tests: New file.
14103
14104         New module 'safe-alloc'.
14105         * lib/safe-alloc.h: New file.
14106         * lib/safe-alloc.c: New file.
14107         * m4/safe-alloc.m4: New file.
14108         * modules/safe-alloc: New file.
14109         * doc/safe-alloc.texi: New file.
14110         * doc/gnulib.texi: Include it.
14111         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
14112         safe-alloc.
14113
14114 2009-02-18  Bruno Haible  <bruno@clisp.org>
14115
14116         Fix link error on non-glibc systems.
14117         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
14118         variable.
14119         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14120
14121 2009-02-18  Jim Meyering  <meyering@redhat.com>
14122
14123         fts: avoid used-uninitialized error due to recent change
14124         * lib/fts.c (fts_read): Guard uses of the new member,
14125         parent->fts_n_dirs_remaining, since it's not relevant for
14126         the parent of a directory specified on the command-line.
14127
14128 2009-02-17  James Youngman  <jay@gnu.org>
14129             Bruno Haible  <bruno@clisp.org>
14130
14131         * m4/include_next.m4: Reformulate comment.
14132
14133 2009-02-16  Jim Meyering  <meyering@redhat.com>
14134
14135         fts: add #if guards so that the fts_lgpl module still builds
14136         * lib/fts.c: Guard just-added hash-table-using parts with
14137         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
14138         Reported by Simon Josefsson.
14139
14140 2009-02-15  Bruno Haible  <bruno@clisp.org>
14141
14142         * modules/array-mergesort-tests: New file.
14143         * tests/test-array-mergesort.c: New file.
14144
14145         New module 'array-mergesort'.
14146         * modules/array-mergesort: New file.
14147         * lib/array-mergesort.h: New file.
14148
14149 2009-02-15  Bruno Haible  <bruno@clisp.org>
14150
14151         Fix 2009-02-07 commit.
14152         * lib/gen-uni-tables.c (output_predicate, output_category,
14153         output_combclass, output_bidi_category, output_decimal_digit,
14154         output_digit, output_numeric, output_mirror, output_scripts,
14155         output_ident_category, output_simple_mapping): Fix format directives.
14156         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
14157
14158 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
14159
14160         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
14161         fixes are available from IBM.
14162
14163 2009-02-13  Jim Meyering  <meyering@redhat.com>
14164
14165         fts: arrange not to stat non-directories in more cases
14166         This makes GNU find (when it doesn't need to stat each file)
14167         *much* more efficient at traversing reiserfs file systems.
14168         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
14169         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
14170         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
14171         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
14172         (leaf_optimization_applies): New function.
14173         (LCO_hash, LCO_compare): New helper functions.
14174         (link_count_optimize_ok): New function.
14175         (fts_stat): Initialize new member (if dir).
14176         (fts_read): Decrement parent's fts_n_dirs_remaining count if
14177         we've just stat'ed a directory.  Skip the stat call when possible.
14178         ---
14179         Note this AFS-related exchange:
14180         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
14181         and note find's pioctl call in find/fstype.c.
14182         But that is necessary only if you want to enable the
14183         optimization for AFS, and for now, I don't.
14184
14185         fts: move a function definition "up" (no semantic change)
14186         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
14187         "up" to precede upcoming use of a related function.
14188
14189 2009-02-11  Jim Meyering  <meyering@redhat.com>
14190
14191         fts: correct internal computation of nlinks (optimization-related)
14192         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
14193         whether the current entry is a directory, so don't test it.
14194
14195 2009-02-10  Bruno Haible  <bruno@clisp.org>
14196
14197         Tests for module 'uniwbrk/ulc-wordbreaks'.
14198         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
14199         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
14200         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
14201
14202         Tests for module 'uniwbrk/u32-wordbreaks'.
14203         * modules/uniwbrk/u32-wordbreaks-tests: New file.
14204         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
14205
14206         Tests for module 'uniwbrk/u16-wordbreaks'.
14207         * modules/uniwbrk/u16-wordbreaks-tests: New file.
14208         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
14209
14210         Tests for module 'uniwbrk/u8-wordbreaks'.
14211         * modules/uniwbrk/u8-wordbreaks-tests: New file.
14212         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
14213
14214 2009-02-10  Bruno Haible  <bruno@clisp.org>
14215
14216         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
14217         property.
14218         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
14219         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
14220         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
14221
14222 2009-02-10  Simon Josefsson  <simon@josefsson.org>
14223
14224         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
14225         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
14226
14227 2009-02-10  Bruno Haible  <bruno@clisp.org>
14228
14229         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
14230         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
14231         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
14232         * lib/unilbrk/u8-possible-linebreaks.c: Update.
14233         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
14234         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
14235
14236 2009-02-09  Simon Josefsson  <simon@josefsson.org>
14237
14238         * lib/sockets.h (gl_fd_to_handle): New function.
14239
14240         * tests/test-sockets.c: Call gl_fd_to_handle.
14241
14242 2009-02-09  Bruno Haible  <bruno@clisp.org>
14243
14244         * doc/havelib.texi: Document the conventions on bi-arch systems.
14245
14246 2009-02-08  Bruno Haible  <bruno@clisp.org>
14247
14248         Document the AC_LIB_LINKFLAGS macro.
14249         * doc/havelib.texi: New file, mostly written on 2005-05-24.
14250         * doc/gnulib.texi: Include it.
14251
14252 2009-02-08  Bruno Haible  <bruno@clisp.org>
14253
14254         Fix wrong order of sections, compared to TOC.
14255         * doc/gnulib.texi: Include relocatable-maint.texi after the
14256         "Regular expressions" node, not before.
14257
14258 2009-02-08  Bruno Haible  <bruno@clisp.org>
14259
14260         Tests for module 'unicase/totitle'.
14261         * modules/unicase/totitle-tests: New file.
14262
14263         Tests for module 'unicase/tolower'.
14264         * modules/unicase/tolower-tests: New file.
14265
14266         Tests for module 'unicase/toupper'.
14267         * modules/unicase/toupper-tests: New file.
14268         * tests/unicase/test-mapping-part1.h: New file.
14269         * tests/unicase/test-mapping-part2.h: New file.
14270
14271         New module 'unicase/totitle'.
14272         * modules/unicase/totitle: New file.
14273         * lib/unicase/totitle.c: New file.
14274
14275         New module 'unicase/tolower'.
14276         * modules/unicase/tolower: New file.
14277         * lib/unicase/tolower.c: New file.
14278
14279         New module 'unicase/toupper'.
14280         * modules/unicase/toupper: New file.
14281         * lib/unicase/toupper.c: New file.
14282         * lib/unicase/simple-mapping.h: New file.
14283
14284         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
14285         (mapping_table): New structure.
14286         (output_simple_mapping): New function.
14287         (main): Invoke output_simple_mapping_test and output_simple_mapping.
14288         * modules/gen-uni-tables (Description): Update.
14289         * lib/unicase/toupper.h: New file, automatically generated by
14290         gen-uni-tables.
14291         * lib/unicase/tolower.h: New file, automatically generated by
14292         gen-uni-tables.
14293         * lib/unicase/totitle.h: New file, automatically generated by
14294         gen-uni-tables.
14295         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
14296         gen-uni-tables.
14297         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
14298         gen-uni-tables.
14299         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
14300         gen-uni-tables.
14301
14302         New module 'unicase/base'.
14303         * modules/unicase/base: New file.
14304         * lib/unicase.h: New file.
14305
14306 2009-02-08  Bruno Haible  <bruno@clisp.org>
14307
14308         New module 'uniwbrk/ulc-wordbreaks'.
14309         * modules/uniwbrk/ulc-wordbreaks: New file.
14310         * lib/uniwbrk/ulc-wordbreaks.c: New file.
14311
14312         New module 'uniwbrk/u32-wordbreaks'.
14313         * modules/uniwbrk/u32-wordbreaks: New file.
14314         * lib/uniwbrk/u32-wordbreaks.c: New file.
14315
14316         New module 'uniwbrk/u16-wordbreaks'.
14317         * modules/uniwbrk/u16-wordbreaks: New file.
14318         * lib/uniwbrk/u16-wordbreaks.c: New file.
14319
14320         New module 'uniwbrk/u8-wordbreaks'.
14321         * modules/uniwbrk/u8-wordbreaks: New file.
14322         * lib/uniwbrk/u8-wordbreaks.c: New file.
14323         * lib/uniwbrk/u-wordbreaks.h: New file.
14324
14325         New module 'uniwbrk/table'.
14326         * modules/uniwbrk/table: New file.
14327         * lib/uniwbrk/wbrktable.h: New file.
14328         * lib/uniwbrk/wbrktable.c: New file.
14329
14330         New module 'uniwbrk/wordbreak-property'.
14331         * modules/uniwbrk/wordbreak-property: New file.
14332         * lib/uniwbrk/wordbreak-property.c: New file.
14333
14334         * lib/gen-uni-tables.c (WBP_*): New enum items.
14335         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
14336         (unicode_org_wbp): New variable.
14337         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
14338         New functions.
14339         (wbp_table): New structure.
14340         (output_wbp, output_wbrk_tables): New functions.
14341         (main): Accept additional argument. Invoke fill_org_wbp,
14342         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
14343         output_wbrk_tables.
14344         * modules/gen-uni-tables (Description): Update.
14345         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
14346         gen-uni-tables.
14347
14348         New module 'uniwbrk/base'.
14349         * modules/uniwbrk/base: New file.
14350         * lib/uniwbrk.h: New file.
14351
14352 2009-02-08  Bruno Haible  <bruno@clisp.org>
14353
14354         Update to Unicode 5.1.0.
14355         * lib/gen-uni-tables.c (is_property_alphabetic): Include
14356         U+2185..U+2188.
14357         (is_property_default_ignorable_code_point): Don't include characters
14358         of category Cc or Cs and not-a-characters.
14359         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
14360         U+0D79, U+109E, U+109F, U+A60C.
14361         * lib/unictype/bidi_of.h: Regenerated.
14362         * lib/unictype/blocks.h: Regenerated.
14363         * lib/unictype/categ_C.h: Regenerated.
14364         * lib/unictype/categ_Cf.h: Regenerated.
14365         * lib/unictype/categ_Cn.h: Regenerated.
14366         * lib/unictype/categ_L.h: Regenerated.
14367         * lib/unictype/categ_Ll.h: Regenerated.
14368         * lib/unictype/categ_Lm.h: Regenerated.
14369         * lib/unictype/categ_Lo.h: Regenerated.
14370         * lib/unictype/categ_Lu.h: Regenerated.
14371         * lib/unictype/categ_M.h: Regenerated.
14372         * lib/unictype/categ_Mc.h: Regenerated.
14373         * lib/unictype/categ_Me.h: Regenerated.
14374         * lib/unictype/categ_Mn.h: Regenerated.
14375         * lib/unictype/categ_N.h: Regenerated.
14376         * lib/unictype/categ_Nd.h: Regenerated.
14377         * lib/unictype/categ_Nl.h: Regenerated.
14378         * lib/unictype/categ_No.h: Regenerated.
14379         * lib/unictype/categ_P.h: Regenerated.
14380         * lib/unictype/categ_Pd.h: Regenerated.
14381         * lib/unictype/categ_Pe.h: Regenerated.
14382         * lib/unictype/categ_Pf.h: Regenerated.
14383         * lib/unictype/categ_Pi.h: Regenerated.
14384         * lib/unictype/categ_Po.h: Regenerated.
14385         * lib/unictype/categ_Ps.h: Regenerated.
14386         * lib/unictype/categ_S.h: Regenerated.
14387         * lib/unictype/categ_Sk.h: Regenerated.
14388         * lib/unictype/categ_Sm.h: Regenerated.
14389         * lib/unictype/categ_So.h: Regenerated.
14390         * lib/unictype/categ_of.h: Regenerated.
14391         * lib/unictype/combining.h: Regenerated.
14392         * lib/unictype/ctype_alnum.h: Regenerated.
14393         * lib/unictype/ctype_alpha.h: Regenerated.
14394         * lib/unictype/ctype_graph.h: Regenerated.
14395         * lib/unictype/ctype_lower.h: Regenerated.
14396         * lib/unictype/ctype_print.h: Regenerated.
14397         * lib/unictype/ctype_punct.h: Regenerated.
14398         * lib/unictype/ctype_upper.h: Regenerated.
14399         * lib/unictype/decdigit.h: Regenerated.
14400         * lib/unictype/digit.h: Regenerated.
14401         * lib/unictype/mirror.h: Regenerated.
14402         * lib/unictype/numeric.h: Regenerated.
14403         * lib/unictype/pr_alphabetic.h: Regenerated.
14404         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
14405         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
14406         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
14407         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
14408         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
14409         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
14410         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
14411         * lib/unictype/pr_combining.h: Regenerated.
14412         * lib/unictype/pr_dash.h: Regenerated.
14413         * lib/unictype/pr_decimal_digit.h: Regenerated.
14414         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
14415         * lib/unictype/pr_deprecated.h: Regenerated.
14416         * lib/unictype/pr_diacritic.h: Regenerated.
14417         * lib/unictype/pr_extender.h: Regenerated.
14418         * lib/unictype/pr_format_control.h: Regenerated.
14419         * lib/unictype/pr_grapheme_base.h: Regenerated.
14420         * lib/unictype/pr_grapheme_extend.h: Regenerated.
14421         * lib/unictype/pr_grapheme_link.h: Regenerated.
14422         * lib/unictype/pr_id_continue.h: Regenerated.
14423         * lib/unictype/pr_id_start.h: Regenerated.
14424         * lib/unictype/pr_ideographic.h: Regenerated.
14425         * lib/unictype/pr_ignorable_control.h: Regenerated.
14426         * lib/unictype/pr_lowercase.h: Regenerated.
14427         * lib/unictype/pr_math.h: Regenerated.
14428         * lib/unictype/pr_numeric.h: Regenerated.
14429         * lib/unictype/pr_other_alphabetic.h: Regenerated.
14430         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
14431         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
14432         * lib/unictype/pr_other_id_continue.h: Regenerated.
14433         * lib/unictype/pr_other_lowercase.h: Regenerated.
14434         * lib/unictype/pr_other_math.h: Regenerated.
14435         * lib/unictype/pr_punctuation.h: Regenerated.
14436         * lib/unictype/pr_sentence_terminal.h: Regenerated.
14437         * lib/unictype/pr_soft_dotted.h: Regenerated.
14438         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
14439         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
14440         * lib/unictype/pr_unified_ideograph.h: Regenerated.
14441         * lib/unictype/pr_uppercase.h: Regenerated.
14442         * lib/unictype/pr_xid_continue.h: Regenerated.
14443         * lib/unictype/pr_xid_start.h: Regenerated.
14444         * lib/unictype/pr_zero_width.h: Regenerated.
14445         * lib/unictype/scripts.h: Regenerated.
14446         * lib/unictype/scripts_byname.gperf: Regenerated.
14447         * lib/unictype/sy_java_ident.h: Regenerated.
14448         * lib/unilbrk/lbrkprop1.h: Regenerated.
14449         * lib/unilbrk/lbrkprop2.h: Regenerated.
14450         * tests/unictype/test-categ_C.c: Regenerated.
14451         * tests/unictype/test-categ_Cf.c: Regenerated.
14452         * tests/unictype/test-categ_Cn.c: Regenerated.
14453         * tests/unictype/test-categ_L.c: Regenerated.
14454         * tests/unictype/test-categ_Ll.c: Regenerated.
14455         * tests/unictype/test-categ_Lm.c: Regenerated.
14456         * tests/unictype/test-categ_Lo.c: Regenerated.
14457         * tests/unictype/test-categ_Lu.c: Regenerated.
14458         * tests/unictype/test-categ_M.c: Regenerated.
14459         * tests/unictype/test-categ_Mc.c: Regenerated.
14460         * tests/unictype/test-categ_Me.c: Regenerated.
14461         * tests/unictype/test-categ_Mn.c: Regenerated.
14462         * tests/unictype/test-categ_N.c: Regenerated.
14463         * tests/unictype/test-categ_Nd.c: Regenerated.
14464         * tests/unictype/test-categ_Nl.c: Regenerated.
14465         * tests/unictype/test-categ_No.c: Regenerated.
14466         * tests/unictype/test-categ_P.c: Regenerated.
14467         * tests/unictype/test-categ_Pd.c: Regenerated.
14468         * tests/unictype/test-categ_Pe.c: Regenerated.
14469         * tests/unictype/test-categ_Pf.c: Regenerated.
14470         * tests/unictype/test-categ_Pi.c: Regenerated.
14471         * tests/unictype/test-categ_Po.c: Regenerated.
14472         * tests/unictype/test-categ_Ps.c: Regenerated.
14473         * tests/unictype/test-categ_S.c: Regenerated.
14474         * tests/unictype/test-categ_Sk.c: Regenerated.
14475         * tests/unictype/test-categ_Sm.c: Regenerated.
14476         * tests/unictype/test-categ_So.c: Regenerated.
14477         * tests/unictype/test-ctype_alnum.c: Regenerated.
14478         * tests/unictype/test-ctype_alpha.c: Regenerated.
14479         * tests/unictype/test-ctype_graph.c: Regenerated.
14480         * tests/unictype/test-ctype_lower.c: Regenerated.
14481         * tests/unictype/test-ctype_print.c: Regenerated.
14482         * tests/unictype/test-ctype_punct.c: Regenerated.
14483         * tests/unictype/test-ctype_upper.c: Regenerated.
14484         * tests/unictype/test-decdigit.h: Regenerated.
14485         * tests/unictype/test-digit.h: Regenerated.
14486         * tests/unictype/test-numeric.h: Regenerated.
14487         * tests/unictype/test-pr_alphabetic.c: Regenerated.
14488         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
14489         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
14490         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
14491         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
14492         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
14493         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
14494         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
14495         * tests/unictype/test-pr_combining.c: Regenerated.
14496         * tests/unictype/test-pr_dash.c: Regenerated.
14497         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
14498         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
14499         * tests/unictype/test-pr_deprecated.c: Regenerated.
14500         * tests/unictype/test-pr_diacritic.c: Regenerated.
14501         * tests/unictype/test-pr_extender.c: Regenerated.
14502         * tests/unictype/test-pr_format_control.c: Regenerated.
14503         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
14504         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
14505         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
14506         * tests/unictype/test-pr_id_continue.c: Regenerated.
14507         * tests/unictype/test-pr_id_start.c: Regenerated.
14508         * tests/unictype/test-pr_ideographic.c: Regenerated.
14509         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
14510         * tests/unictype/test-pr_lowercase.c: Regenerated.
14511         * tests/unictype/test-pr_math.c: Regenerated.
14512         * tests/unictype/test-pr_numeric.c: Regenerated.
14513         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
14514         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
14515         Regenerated.
14516         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
14517         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
14518         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
14519         * tests/unictype/test-pr_other_math.c: Regenerated.
14520         * tests/unictype/test-pr_punctuation.c: Regenerated.
14521         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
14522         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
14523         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
14524         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
14525         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
14526         * tests/unictype/test-pr_uppercase.c: Regenerated.
14527         * tests/unictype/test-pr_xid_continue.c: Regenerated.
14528         * tests/unictype/test-pr_xid_start.c: Regenerated.
14529         * tests/unictype/test-pr_zero_width.c: Regenerated.
14530
14531         Update to Unicode 5.1.0.
14532         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
14533         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
14534         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
14535         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
14536         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
14537         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
14538         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
14539         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
14540         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
14541         (nonspacing_table_ind): Update.
14542         * tests/uniwidth/test-uc_width2.sh: Update expected result.
14543
14544         Update to Unicode 5.1.0.
14545         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
14546         code transform.
14547         * lib/uniname/uniname.c (unicode_character_name,
14548         unicode_name_character): Add the range 0x1Fxxx to the code transform.
14549         * lib/uniname/uninames.h: Regenerated.
14550         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
14551
14552 2009-02-07  Bruno Haible  <bruno@clisp.org>
14553
14554         Merge gen-ctype and gen-lbrk into a single program.
14555         * lib/gen-uni-tables.c: New file, incorporating
14556         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
14557         Add directory prefixes to the names of the generated files.
14558         * lib/unictype/gen-ctype.c: Remove file.
14559         * lib/unilbrk/gen-lbrk.c: Remove file.
14560         * modules/gen-uni-tables: New file.
14561         * modules/unictype/gen-ctype: Remove file.
14562         * modules/unilbrk/gen-lbrk: Remove file.
14563
14564 2009-02-07  Bruno Haible  <bruno@clisp.org>
14565
14566         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
14567
14568         New module 'unistr/u32-strcoll'.
14569         * modules/unistr/u32-strcoll: New file.
14570         * lib/unistr/u32-strcoll.c: New file.
14571
14572         New module 'unistr/u16-strcoll'.
14573         * modules/unistr/u16-strcoll: New file.
14574         * lib/unistr/u16-strcoll.c: New file.
14575
14576         New module 'unistr/u8-strcoll'.
14577         * modules/unistr/u8-strcoll: New file.
14578         * lib/unistr/u8-strcoll.c: New file.
14579         * lib/unistr/u-strcoll.h: New file.
14580
14581 2009-02-07  Bruno Haible  <bruno@clisp.org>
14582
14583         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
14584         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14585         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14586         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
14587         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
14588         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
14589
14590 2009-02-07  Bruno Haible  <bruno@clisp.org>
14591
14592         Make 64-bit clean.
14593         * lib/unictype/gen-ctype.c (output_predicate, output_category,
14594         output_combclass, output_bidi_category, output_decimal_digit,
14595         output_digit, output_numeric, output_mirror, output_scripts,
14596         output_ident_category): Use proper width specifier in format strings.
14597
14598 2009-02-07  Bruno Haible  <bruno@clisp.org>
14599
14600         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
14601         failure behaviour.
14602
14603 2009-02-07  Jim Meyering  <meyering@redhat.com>
14604
14605         regex: avoid compilation failure with upcoming gcc-4.4
14606         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
14607         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
14608         "... error: integer overflow in preprocessor expression".
14609
14610 2009-02-05  Ben Pfaff  <blp@gnu.org>
14611
14612         Fix link errors on Windows when close module is used.
14613         * modules/close: Add $(LIB_CLOSE) to Link section.
14614         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
14615         $(LIB_CLOSE) on Windows.
14616
14617 2009-02-05  Jim Meyering  <meyering@redhat.com>
14618
14619         still avoid unused-parameter warnings, but do it cleanly
14620         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
14621         (get_fs_usage): Cast to void instead.
14622         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
14623         (dev_from_mount_options, read_file_system_list): Cast to void.
14624         Prompted by Bruno Haible.
14625
14626 2009-02-04  Jim Meyering  <meyering@redhat.com>
14627
14628         fsusage.c: correct copyright year
14629         * lib/fsusage.c: Reflect year in which the change is pushed into
14630
14631         avoid misc. warnings
14632         * lib/fsusage.c (UNUSED_PARAM): Define.
14633         (get_fs_usage): Mark parameter "disk" as unused.
14634         * lib/getugroups.c (getgrent): Use "void" in prototype.
14635         * lib/mountlist.c: Mark unused parameters.
14636         (read_file_system_list): Declare a local with "const".
14637         * lib/nanosleep.c (getnow): Declare static.
14638         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
14639
14640         dirfd: set errno upon failure
14641         * lib/dirfd.c: Include <errno.h>.
14642         Set errno to ENOTSUP when returning -1.
14643         * modules/dirfd (Depends-on): Add errno.
14644         Suggested by John Kodis <kodis@comcast.net>.
14645
14646 2009-02-01  Bruno Haible  <bruno@clisp.org>
14647
14648         Don't assume sizeof (long) >= sizeof (void *).
14649         * lib/memcmp.c: Include stdint.h.
14650         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
14651         srcp2 to 'const byte *'.
14652         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
14653         types to uintptr_t.
14654         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
14655         * modules/memcmp (Depends-on): Add stdint.
14656         Reported by Ozkan Sezer <sezeroz@gmail.com>.
14657
14658 2009-01-30  Eric Blake  <ebb9@byu.net>
14659
14660         fix more require-before-expand issues
14661         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
14662         expand, AC_PROG_AWK.
14663         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
14664
14665 2009-01-28  Eric Blake  <ebb9@byu.net>
14666
14667         version-etc: use consistent URL formatting
14668         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
14669         Improve formatting.  Use fputs for string without %.
14670
14671 2009-01-28  Jim Meyering  <meyering@redhat.com>
14672
14673         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
14674         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
14675         "underquoted definition of NAME" from autoconf-2.59.
14676
14677 2009-01-28  Bruno Haible  <bruno@clisp.org>
14678
14679         * doc/gnulib.texi: Add "Obsolete modules" to index.
14680
14681 2009-01-28  Jim Meyering  <meyering@redhat.com>
14682
14683         useless-if-before-free: recognize more variants
14684         * build-aux/useless-if-before-free: Also recognize e.g.,
14685         if (NULL != p) free (p);
14686
14687 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
14688
14689         test-getaddrinfo: skip (don't fail) this test when there's no network
14690         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
14691         on the presumption that it means you lack network access.
14692
14693 2009-01-26  Jim Meyering  <meyering@redhat.com>
14694
14695         fflush: avoid warnings on modern systems
14696         * lib/fflush.c (rpl_fflush): Move declarations of locals,
14697         pos and result, into scopes where they're used.
14698
14699 2009-01-26  Eric Blake  <ebb9@byu.net>
14700
14701         Silence warning reintroduced by recent extensions patch.
14702         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
14703         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
14704         autoconf.
14705
14706         Backport improved autoconf semantics of AC_DEFUN_ONCE.
14707         * m4/00gnulib.m4: New file.
14708         * gnulib-tool (func_get_filelist): Always use it.
14709         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
14710         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
14711
14712 2009-01-25  Bruno Haible  <bruno@clisp.org>
14713
14714         Make test-quotearg work on MacOS X and AIX.
14715         * tests/test-quotearg.sh: New file.
14716         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
14717         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
14718         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
14719         include <libintl.h>.
14720         (fake_locale): Remove variable.
14721         (gettext, dgettext, dcgettext): Remove functions.
14722         (main): Instead of setting a fake locale, set a real locale. Call
14723         textdomain and bindtextdomain.
14724         * modules/quotearg-tests (Files): Add the new files.
14725         (Depends-on): Add gettext, setenv, unsetenv.
14726         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
14727         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
14728         Augment TESTS_ENVIRONMENT.
14729
14730 2009-01-25  Bruno Haible  <bruno@clisp.org>
14731
14732         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
14733         fr_FR.ISO8859-1 locale on MacOS X.
14734         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
14735         ja_JP.eucJP locale on MacOS X.
14736         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
14737         zh_CN.GB18030 locale on MacOS X.
14738
14739 2009-01-25  Bruno Haible  <bruno@clisp.org>
14740
14741         Avoid link errors on MacOS X 10.3.
14742         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
14743         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
14744
14745 2009-01-25  Bruno Haible  <bruno@clisp.org>
14746
14747         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
14748         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
14749         * modules/pipe (Files): Remove m4/posix_spawn.m4.
14750         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
14751         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
14752         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
14753         posix_spawnattr_init, posix_spawnattr_setsigmask,
14754         posix_spawnattr_setflags, posix_spawnattr_destroy.
14755
14756         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
14757         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
14758         * modules/execute (Files): Remove m4/posix_spawn.m4.
14759         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
14760         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
14761         posix_spawnattr_init, posix_spawnattr_setsigmask,
14762         posix_spawnattr_setflags, posix_spawnattr_destroy.
14763
14764 2009-01-25  Bruno Haible  <bruno@clisp.org>
14765
14766         * lib/glthread/threadlib.c: Include <stdlib.h>.
14767
14768 2009-01-25  Bruno Haible  <bruno@clisp.org>
14769
14770         * lib/glthread/threadlib.c (dummy): New declaration.
14771
14772 2009-01-25  Bruno Haible  <bruno@clisp.org>
14773
14774         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
14775         multibyte characters also for the GB18030 encoding. Don't crash when
14776         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
14777
14778 2009-01-25  Bruno Haible  <bruno@clisp.org>
14779
14780         Avoid redefining 'struct random_data' on OSF/1 5.1.
14781         * lib/stdlib.in.h: Include <random.h> if it exists.
14782         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
14783         HAVE_RANDOM_H. Include <random.h> when testing whether
14784         'struct random_data' exists.
14785         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
14786
14787 2009-01-25  Bruno Haible  <bruno@clisp.org>
14788
14789         Don't install charset.alias on MacOS X >= 10.3.
14790         * lib/localcharset.c (DARWIN7): New macro.
14791         (get_charset_aliases): Hardcode the result for Darwin7.
14792         * modules/localcharset (install-exec-local): Don't install
14793         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
14794
14795 2009-01-25  Bruno Haible  <bruno@clisp.org>
14796
14797         Don't install charset.alias on mingw and Cygwin.
14798         * modules/localcharset (install-exec-local): Don't install
14799         charset.alias on mingw and Cygwin, if the file does not yet exist.
14800         The result for these platforms is hardcoded in localcharset.c.
14801
14802 2009-01-25  Bruno Haible  <bruno@clisp.org>
14803
14804         Make it possible again to use AC_GNU_SOURCE together with gnulib.
14805         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
14806         before requiring AC_USE_SYSTEM_EXTENSIONS.
14807
14808 2009-01-25  Jim Meyering  <meyering@redhat.com>
14809
14810         c-strtod: avoid warnings
14811         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
14812         "assignment discards qualifiers from pointer target type" warnings.
14813
14814 2009-01-24  Bruno Haible  <bruno@clisp.org>
14815
14816         Add support for non-UTF-8 locales on MacOS X.
14817         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
14818         canonical encodings. For Darwin 7 and newer, don't map traditional
14819         encodings to UTF-8.
14820         Reported by Vincent Lefevre <vincent@vinc17.org>
14821         at <http://savannah.gnu.org/bugs/?25235>.
14822
14823 2009-01-24  Bruno Haible  <bruno@clisp.org>
14824
14825         * doc/gnulib.texi (Obsolete modules): New section.
14826         Reported by Mike Frysinger <vapier@gentoo.org>.
14827
14828 2009-01-24  Bruno Haible  <bruno@clisp.org>
14829
14830         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
14831         (%.dvi): New rule.
14832
14833 2009-01-24  Bruno Haible  <bruno@clisp.org>
14834
14835         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
14836         Reported by Eric Blake.
14837
14838 2009-01-24  Bruno Haible  <bruno@clisp.org>
14839
14840         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
14841         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
14842         Reported by Gary V. Vaughan <gary@gnu.org>.
14843
14844 2009-01-24  Bruno Haible  <bruno@clisp.org>
14845
14846         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
14847
14848 2009-01-23  Bruno Haible  <bruno@clisp.org>
14849
14850         Make c-strtod, c-strtold usable in libraries.
14851         * lib/c-strtod.c: Include string.h instead of xalloc.h.
14852         (C_STRTOD): Call strdup instead of xstrdup.
14853         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
14854         * modules/c-strtold (Depends-on): Likewise.
14855         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
14856         * NEWS: Mention the change.
14857         Reported by Michael Gold <mgold@ncf.ca>.
14858
14859 2009-01-23  Jim Meyering  <meyering@redhat.com>
14860
14861         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
14862         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
14863         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
14864
14865 2009-01-23  Simon Josefsson  <simon@josefsson.org>
14866
14867         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
14868         GNU CoreUtils.
14869         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
14870         * modules/version-etc (Description): Update.
14871
14872 2009-01-22  Bruno Haible  <bruno@clisp.org>
14873
14874         Cache the C locale object.
14875         * lib/c-strtod.c (c_locale_cache): New variable.
14876         (c_locale): New function.
14877         (C_STRTOD): Use it, and don't call freelocale.
14878         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
14879         Suggested by Paolo Bonzini.
14880
14881 2009-01-21  Bruno Haible  <bruno@clisp.org>
14882
14883         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
14884         conditions other than overflow.
14885
14886 2009-01-21  Bruno Haible  <bruno@clisp.org>
14887
14888         * lib/c-strtod.c: Include errno.h.
14889         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
14890         value from STRTOD_L and STRTOD.
14891
14892 2009-01-21  Bruno Haible  <bruno@clisp.org>
14893         and Jim Meyering  <meyering@redhat.com>
14894
14895         nanosleep: skip configure test (fail it) for apple universal builds
14896         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
14897         universal builds, assume that nanosleep does not work.
14898         * modules/nanosleep (Depends-on): Add multiarch.
14899
14900         mktime: skip configure test (fail it) for apple universal builds
14901         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
14902         universal builds, assume that mktime does not work.
14903         * modules/mktime (Depends-on): Add multiarch.
14904
14905 2009-01-21  Eric Blake  <ebb9@byu.net>
14906
14907         multiarch: avoid expand-before-require warning
14908         * modules/multiarch (configure.ac): Require, rather than expand,
14909         gl_MULTIARCH.
14910         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
14911         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
14912         enforce that all clients require it.  Partial reversion of
14913         2008-12-29 patch.
14914
14915         error: avoid expand-before-require warning
14916         * modules/errno (configure.ac): Require, rather than expand,
14917         gl_HEADER_ERRNO_H.
14918         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
14919         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
14920         enforce that all clients require it.
14921
14922         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
14923         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
14924         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
14925         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
14926
14927 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
14928
14929         Revert:
14930         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
14931
14932         regex: do not depend on obsolete modules.
14933         * modules/regex: Remove memcmp and memmove.
14934
14935 2009-01-20  Bruno Haible  <bruno@clisp.org>
14936
14937         Make the 'link' module link on Windows NT 4.
14938         * lib/link.c (_WIN32_WINNT): Don't define.
14939         (CreateHardLinkFuncType): New type.
14940         (CreateHardLinkFunc, initialized): New variables.
14941         (initialize): New function.
14942         (link): Invoke CreateHardLink indirectly through the function pointer.
14943
14944 2009-01-20  Bruno Haible  <bruno@clisp.org>
14945
14946         Fix compilation failure on mingw.
14947         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
14948
14949 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
14950
14951         * doc/c-strtod.texi: Mention a couple of restrictions.
14952
14953 2009-01-20  Jim Meyering  <meyering@redhat.com>
14954
14955         gettimeofday: move more declarations out of functions
14956         * lib/gettimeofday.c: Move extern declarations of tzset and
14957         gmtime out of containing functions.  Prompted by Bruno Haible.
14958
14959 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
14960
14961         regex: do not depend on obsolete modules.
14962         * modules/regex: Remove memcmp and memmove.
14963
14964 2009-01-19  Bruno Haible  <bruno@clisp.org>
14965
14966         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
14967         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
14968         gl_BIGENDIAN, not AC_C_BIGENDIAN.
14969         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
14970         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
14971
14972 2009-01-19  Bruno Haible  <bruno@clisp.org>
14973
14974         * tests/test-link.c: Include <errno.h>.
14975         (main): Exit with code 77 when a hard link cannot be created due to
14976         the file system.
14977         * tests/test-link.sh: Skip test when a hard link cannot be created due
14978         to the file system.
14979         Suggested by Eric Blake.
14980
14981 2009-01-19  Martin Lambers  <marlam@marlam.de>
14982
14983         * modules/link-tests: New file.
14984         * tests/test-link.sh: New file.
14985         * tests/test-link.c: New file.
14986
14987 2009-01-19  Eric Blake  <ebb9@byu.net>
14988
14989         doc: mention another function added in cygwin 1.7.0
14990         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
14991         Another new function in cygwin 1.7.
14992
14993 2009-01-19  Bruno Haible  <bruno@clisp.org>
14994
14995         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
14996         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
14997         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
14998         gl_BIGENDIAN, not AC_C_BIGENDIAN.
14999         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
15000         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
15001         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
15002         * m4/md4.m4 (gl_MD4): Likewise.
15003         * m4/md5.m4 (gl_MD5): Likewise.
15004         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
15005         * m4/sha1.m4 (gl_SHA1): Likewise.
15006         * m4/sha256.m4 (gl_SHA256): Likewise.
15007         * m4/sha512.m4 (gl_SHA512): Likewise.
15008
15009 2009-01-19  Bruno Haible  <bruno@clisp.org>
15010
15011         * modules/uniname/uniname-tests (Depends-on): Add progname.
15012         * tests/uniname/test-uninames.c: Include progname.h.
15013         (main): Call set_program_name.
15014
15015         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
15016         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
15017         (main): Call set_program_name.
15018
15019         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
15020         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
15021         (main): Call set_program_name.
15022
15023         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
15024         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
15025         (main): Call set_program_name.
15026
15027         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
15028         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
15029         (main): Call set_program_name.
15030
15031         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
15032         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
15033         (main): Call set_program_name.
15034
15035         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
15036         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
15037         (main): Call set_program_name.
15038
15039         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
15040         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
15041         (main): Call set_program_name.
15042
15043         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
15044         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
15045         (main): Call set_program_name.
15046
15047 2009-01-19  Eric Blake  <ebb9@byu.net>
15048
15049         test-unistd: test previous patch
15050         * tests/test-unistd.c: Test *_FILENO macros.
15051
15052         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
15053         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
15054         Guarantee a definition.
15055         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
15056         * modules/unistd-safer (Depends-on): Add dependency on unistd.
15057         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
15058         * lib/dup-safer.c (STDERR_FILENO): Likewise.
15059         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
15060         Likewise.
15061         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
15062         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
15063         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
15064         Likewise.
15065         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
15066         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
15067         (STDERR_FILENO): Likewise.
15068         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
15069         (STDERR_FILENO): Likewise.
15070         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
15071         (STDERR_FILENO): Likewise.
15072         Reported by Elbert Pol.
15073
15074 2009-01-19  Eric Blake  <ebb9@byu.net>
15075
15076         doc: mention more functions added in cygwin 1.7.0
15077         * doc/posix-functions/abort.texi (abort): Update wording related
15078         to cygwin.
15079         * doc/posix-functions/daylight.texi (daylight): Likewise.
15080         * doc/posix-functions/optarg.texi (optarg): Likewise.
15081         * doc/posix-functions/optarg.texi (opterr): Likewise.
15082         * doc/posix-functions/optarg.texi (optind): Likewise.
15083         * doc/posix-functions/optarg.texi (optopt): Likewise.
15084         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
15085         worked in 1.5.x, and was withdrawn in 1.7.
15086         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15087         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
15088         cygwin versions.
15089         * doc/posix-functions/perror.texi (perror): Likewise.
15090         * doc/posix-functions/printf.texi (printf): Likewise.
15091         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
15092         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
15093         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15094         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15095         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15096         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
15097         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
15098         Likewise.
15099         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
15100         Likewise.
15101         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
15102         this function.
15103         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
15104         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
15105         Likewise.
15106         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
15107         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
15108         * doc/posix-functions/confstr.texi (confstr): Likewise.
15109         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
15110         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
15111         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
15112         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
15113         * doc/posix-functions/fputws.texi (fputws): Likewise.
15114         * doc/posix-functions/fwide.texi (fwide): Likewise.
15115         * doc/posix-functions/getwc.texi (getwc): Likewise.
15116         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
15117         * doc/posix-functions/putwc.texi (putwc): Likewise.
15118         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15119         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
15120         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
15121         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15122         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
15123         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
15124         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
15125         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
15126         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
15127         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
15128         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
15129
15130 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
15131
15132         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
15133         * lib/ioctl.c: Include <sys/ioctl.h>.
15134
15135 2009-01-19  Simon Josefsson  <simon@josefsson.org>
15136
15137         * modules/getdate-tests (Depends-on): Add progname.
15138         * tests/test-getdate.c: Use progname module, to avoid link errors
15139         on non-glibc systems.
15140
15141 2009-01-18  Simon Josefsson  <simon@josefsson.org>
15142
15143         * modules/filenamecat-tests (Depends-on): Add progname.
15144         * modules/fstrcmp-tests (Depends-on): Likewise.
15145
15146         * tests/test-filenamecat.c: Use progname module, to avoid link
15147         errors on non-glibc systems.
15148         * tests/test-fstrcmp.c: Likewise.
15149
15150 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
15151
15152         gettimeofday: avoid warning: nested extern declaration of 'localtime'
15153         * lib/gettimeofday.c: Move extern declaration out of function.
15154
15155 2009-01-18  Bruno Haible  <bruno@clisp.org>
15156
15157         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
15158         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
15159         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
15160
15161 2009-01-18  Bruno Haible  <bruno@clisp.org>
15162
15163         * lib/strftime.c (MEMPCPY): Remove unused macro.
15164         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
15165
15166 2009-01-18  Martin Lambers  <marlam@marlam.de>
15167
15168         New module 'link'.
15169         * lib/unistd.in.h (link): New declaration.
15170         * lib/link.c: New file.
15171         * m4/link.m4: New file.
15172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
15173         HAVE_LINK.
15174         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
15175         * modules/link: New file.
15176         * doc/posix-functions/link.texi: Mention the new module.
15177
15178 2009-01-18  Bruno Haible  <bruno@clisp.org>
15179
15180         * tests/test-avltree_list.c (main): Call set_program_name.
15181         * tests/test-avltree_oset.c (main): Likewise.
15182         * tests/test-obstack-printf.c: Include progname.h.
15183         (main): Call set_program_name.
15184         * tests/test-quotearg.c: Include progname.h.
15185         (main): Call set_program_name.
15186         * tests/test-xmemdup0.c: Include progname.h.
15187         (main): Call set_program_name.
15188
15189 2009-01-18  Bruno Haible  <bruno@clisp.org>
15190
15191         New module 'alphasort'.
15192         * lib/dirent.in.h (alphasort): New declaration.
15193         * lib/alphasort.c: New file, from glibc with modifications.
15194         * m4/alphasort.m4: New file.
15195         * modules/alphasort: New file.
15196         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
15197         HAVE_ALPHASORT.
15198         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
15199         HAVE_ALPHASORT.
15200         * doc/posix-functions/alphasort.texi: Mention the new module and the
15201         portability problems.
15202
15203 2009-01-18  Bruno Haible  <bruno@clisp.org>
15204
15205         New module 'scandir'.
15206         * lib/dirent.in.h (scandir): New declaration.
15207         * lib/scandir.c: New file, from glibc with modifications.
15208         * m4/scandir.m4: New file.
15209         * modules/scandir: New file.
15210         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
15211         HAVE_SCANDIR.
15212         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
15213         HAVE_SCANDIR.
15214         * doc/posix-functions/scandir.texi: Mention the new module and the
15215         portability problems.
15216
15217 2009-01-17  Bruno Haible  <bruno@clisp.org>
15218
15219         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
15220         Update documentation.
15221         (func_remove_suffix): Escape all dots in the suffix. Update
15222         documentation.
15223         (func_filter_filelist): Update documentation.
15224         Reported by Ralf Wildenhues.
15225
15226 2009-01-17  Bruno Haible  <bruno@clisp.org>
15227
15228         * modules/dprintf-posix-tests: New file.
15229         * tests/test-dprintf-posix.sh: New file.
15230         * tests/test-dprintf-posix.c: New file.
15231
15232         New modules 'dprintf', 'dprintf-posix'.
15233         * lib/stdio.in.h (dprintf): New declaration.
15234         * lib/dprintf.c: New file.
15235         * m4/dprintf.m4: New file.
15236         * m4/dprintf-posix.m4: New file.
15237         * modules/dprintf: New file.
15238         * modules/dprintf-posix: New file.
15239         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
15240         HAVE_DPRINTF, REPLACE_DPRINTF.
15241         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
15242         HAVE_DPRINTF, REPLACE_DPRINTF.
15243         * doc/posix-functions/dprintf.texi: Mention the new modules.
15244
15245 2009-01-17  Bruno Haible  <bruno@clisp.org>
15246
15247         * modules/vdprintf-posix-tests: New file.
15248         * tests/test-vdprintf-posix.sh: New file.
15249         * tests/test-vdprintf-posix.c: New file.
15250
15251         New modules 'vdprintf', 'vdprintf-posix'.
15252         * lib/stdio.in.h (vdprintf): New declaration.
15253         * lib/vdprintf.c: New file.
15254         * m4/vdprintf.m4: New file.
15255         * m4/vdprintf-posix.m4: New file.
15256         * modules/vdprintf: New file.
15257         * modules/vdprintf-posix: New file.
15258         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
15259         HAVE_VDPRINTF, REPLACE_VDPRINTF.
15260         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
15261         HAVE_VDPRINTF, REPLACE_VDPRINTF.
15262         * doc/posix-functions/vdprintf.texi: Mention the new modules.
15263
15264 2009-01-17  Bruno Haible  <bruno@clisp.org>
15265
15266         Fix replacement of fopen on mingw.
15267         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
15268         mingw.
15269
15270 2009-01-17  Bruno Haible  <bruno@clisp.org>
15271
15272         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
15273         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
15274
15275 2009-01-17  Bruno Haible  <bruno@clisp.org>
15276
15277         Avoid test-fflush2.sh failure on mingw.
15278         * tests/test-fflush2.c: Include binary-io.h.
15279         (main): Put standard input into binary mode.
15280         * modules/fflush-tests (Depends-on): Add binary-io.
15281
15282 2009-01-17  Bruno Haible  <bruno@clisp.org>
15283
15284         * lib/wchar.in.h: In another particular situation, include only the
15285         system's <wchar.h> file.
15286         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
15287         Reported by Albert Chin-A-Young <china@thewrittenword.com>
15288         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
15289
15290 2009-01-17  Bruno Haible  <bruno@clisp.org>
15291
15292         Support for stripping executables in --enable-relocatable.
15293         * build-aux/install-reloc: Expect one more argument, or an environment
15294         variable RELOC_STRIP_PROG. If set, strip the destination program and
15295         its wrapper.
15296         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
15297         RELOC_STRIP_PROG.
15298         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
15299         to set RELOCATABLE_STRIP.
15300         * NEWS: Mention the new Makefile requirement.
15301
15302 2009-01-17  Bruno Haible  <bruno@clisp.org>
15303
15304         * build-aux/install-reloc: Remove debugging information left over by
15305         C compiler on MacOS X.
15306
15307 2009-01-17  Bruno Haible  <bruno@clisp.org>
15308
15309         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
15310         * lib/progreloc.c (find_executable): Fix type of pointer passed to
15311         _NSGetExecutablePath.
15312
15313 2009-01-16  Jim Meyering  <meyering@redhat.com>
15314
15315         strerror: avoid warnings about discarding "const"
15316         * lib/strerror.c (rpl_strerror): Instead of returning a const
15317         string from each and every "case", use a variable, and add a single
15318         cast after the switch.
15319
15320 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
15321
15322         * lib/arpa_inet.in.h: Add extern "C" block for C++.
15323
15324 2009-01-16  Bruno Haible  <bruno@clisp.org>
15325
15326         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
15327         array initializer syntax that also works in C++ mode.
15328         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15329
15330 2009-01-16  Jim Meyering  <meyering@redhat.com>
15331
15332         poll: suppress a warning
15333         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
15334         to ignore "...unsigned expression < 0 is always false" warnings.
15335
15336 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
15337
15338         poll: remove declarations of unused variables
15339         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
15340         sockbuf and optlen.
15341
15342 2009-01-15  Bruno Haible  <bruno@clisp.org>
15343
15344         Make fflush-after-ungetc POSIX compliant on BSD systems.
15345         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
15346         (clear_ungetc_buffer): Implement also for other systems.
15347         (rpl_fflush): On glibc systems, invoke
15348         clear_ungetc_buffer_preserving_position. Otherwise, invoke
15349         clear_ungetc_buffer after fetching the stream's position, not before.
15350
15351 2009-01-15  Bruno Haible  <bruno@clisp.org>
15352
15353         Make fflush-after-ungetc POSIX compliant on glibc systems.
15354         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
15355         after ungetc.
15356         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
15357         (rpl_fflush): On glibc systems, simply call the system's fflush
15358         function after clearing the ungetc buffer.
15359         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
15360         Instead, lseek only to the end of file, then use the system's fseeko
15361         for the rest. On glibc systems, reset the EOF indicator bit.
15362
15363 2009-01-15  Jim Meyering  <meyering@redhat.com>
15364
15365         openmp.m4: revert quote-adding change, for portability to older autoconf
15366         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
15367         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
15368         Simon Josefsson noticed the problem when using autoconf-2.61.
15369
15370 2009-01-15  Bruno Haible  <bruno@clisp.org>
15371
15372         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
15373         * tests/test-fflush2.c (ASSERT): Always fail.
15374         (main): Add two tests for fflush() after ungetc(), taking into account
15375         the Austin Group's clarification.
15376         Suggested by Eric Blake.
15377
15378 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
15379
15380         mktime.m4: remove K&R-style function prototypes
15381         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
15382         for the Sun C++ compiler.
15383
15384 2009-01-14  Bruno Haible  <bruno@clisp.org>
15385
15386         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
15387         while including <wchar.h>.
15388         * lib/wchar.in.h: In two particular situations on HP-UX, include only
15389         the system's <wchar.h> file.
15390         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15391
15392 2009-01-14  Bruno Haible  <bruno@clisp.org>
15393
15394         * m4/csharp.m4: Don't mention gettext on the serial number line.
15395         * m4/csharpexec.m4: Likewise.
15396         * m4/eaccess.m4: Likewise.
15397         * m4/javaexec.m4: Likewise.
15398         * m4/sig_atomic_t.m4: Likewise.
15399         * m4/tmpdir.m4: Likewise.
15400         * m4/intldir.m4: Bump gettext version.
15401         * m4/lib-ld.m4: Likewise.
15402
15403 2009-01-14  Bruno Haible  <bruno@clisp.org>
15404
15405         * lib/progname.c (set_program_name): Add more comments.
15406         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
15407
15408 2009-01-14  Simon Josefsson  <simon@josefsson.org>
15409
15410         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
15411         were sys/stat.h does not define it.
15412
15413 2009-01-14  Jim Meyering  <meyering@redhat.com>
15414
15415         many *.m4 files: improve m4 quoting
15416         99% of this change was performed by running the following commands:
15417         git ls-files | grep '\.m4$' | xargs perl -pi \
15418           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
15419           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
15420           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
15421           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
15422         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
15423         The remainder were to add Copyright dates, increment serial numbers,
15424         undo some changes in comments, exclude m4/intl.m4, and add quotes
15425         around the "1" in ",1" where the unusual spacing prohibited the
15426         above regexps from doing the job.  For more details, see
15427         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
15428         * m4/acl.m4: Modified.
15429         * m4/afs.m4: Likewise.
15430         * m4/alloca.m4: Likewise.
15431         * m4/argp.m4: Likewise.
15432         * m4/argz.m4: Likewise.
15433         * m4/atexit.m4: Likewise.
15434         * m4/bison-i18n.m4: Likewise.
15435         * m4/bison.m4: Likewise.
15436         * m4/byteswap.m4: Likewise.
15437         * m4/c-stack.m4: Likewise.
15438         * m4/c-strtod.m4: Likewise.
15439         * m4/calloc.m4: Likewise.
15440         * m4/canonicalize-lgpl.m4: Likewise.
15441         * m4/chown.m4: Likewise.
15442         * m4/clock_time.m4: Likewise.
15443         * m4/codeset.m4: Likewise.
15444         * m4/copy-file.m4: Likewise.
15445         * m4/csharp.m4: Likewise.
15446         * m4/csharpcomp.m4: Likewise.
15447         * m4/csharpexec.m4: Likewise.
15448         * m4/d-ino.m4: Likewise.
15449         * m4/d-type.m4: Likewise.
15450         * m4/dirfd.m4: Likewise.
15451         * m4/double-slash-root.m4: Likewise.
15452         * m4/eaccess.m4: Likewise.
15453         * m4/eealloc.m4: Likewise.
15454         * m4/environ.m4: Likewise.
15455         * m4/errno_h.m4: Likewise.
15456         * m4/euidaccess.m4: Likewise.
15457         * m4/execute.m4: Likewise.
15458         * m4/fatal-signal.m4: Likewise.
15459         * m4/fchdir.m4: Likewise.
15460         * m4/fcntl_h.m4: Likewise.
15461         * m4/fileblocks.m4: Likewise.
15462         * m4/filenamecat.m4: Likewise.
15463         * m4/findprog.m4: Likewise.
15464         * m4/flexmember.m4: Likewise.
15465         * m4/fnmatch.m4: Likewise.
15466         * m4/fopen.m4: Likewise.
15467         * m4/fpending.m4: Likewise.
15468         * m4/fprintf-posix.m4: Likewise.
15469         * m4/free.m4: Likewise.
15470         * m4/frexp.m4: Likewise.
15471         * m4/frexpl.m4: Likewise.
15472         * m4/fsusage.m4: Likewise.
15473         * m4/ftruncate.m4: Likewise.
15474         * m4/gc-camellia.m4: Likewise.
15475         * m4/gc-random.m4: Likewise.
15476         * m4/gc.m4: Likewise.
15477         * m4/getaddrinfo.m4: Likewise.
15478         * m4/getcwd-abort-bug.m4: Likewise.
15479         * m4/getcwd-path-max.m4: Likewise.
15480         * m4/getdate.m4: Likewise.
15481         * m4/getdomainname.m4: Likewise.
15482         * m4/getgroups.m4: Likewise.
15483         * m4/gethostname.m4: Likewise.
15484         * m4/gethrxtime.m4: Likewise.
15485         * m4/getline.m4: Likewise.
15486         * m4/getloadavg.m4: Likewise.
15487         * m4/getndelim2.m4: Likewise.
15488         * m4/getpass.m4: Likewise.
15489         * m4/gettext.m4: Likewise.
15490         * m4/gettime.m4: Likewise.
15491         * m4/gettimeofday.m4: Likewise.
15492         * m4/gnulib-common.m4: Likewise.
15493         * m4/group-member.m4: Likewise.
15494         * m4/host-os.m4: Likewise.
15495         * m4/iconv.m4: Likewise.
15496         * m4/iconv_open.m4: Likewise.
15497         * m4/inet_ntop.m4: Likewise.
15498         * m4/inet_pton.m4: Likewise.
15499         * m4/inline.m4: Likewise.
15500         * m4/intldir.m4: Likewise.
15501         * m4/intlmacosx.m4: Likewise.
15502         * m4/intmax.m4: Likewise.
15503         * m4/intmax_t.m4: Likewise.
15504         * m4/inttypes.m4: Likewise.
15505         * m4/inttypes_h.m4: Likewise.
15506         * m4/inttypes-pri.m4: Likewise.
15507         * m4/isapipe.m4: Likewise.
15508         * m4/isnand.m4: Likewise.
15509         * m4/isnanf.m4: Likewise.
15510         * m4/isnanl.m4: Likewise.
15511         * m4/javacomp.m4: Likewise.
15512         * m4/javaexec.m4: Likewise.
15513         * m4/jm-winsz1.m4: Likewise.
15514         * m4/jm-winsz2.m4: Likewise.
15515         * m4/lchown.m4: Likewise.
15516         * m4/lcmessage.m4: Likewise.
15517         * m4/ldexpl.m4: Likewise.
15518         * m4/lib-ld.m4: Likewise.
15519         * m4/lib-link.m4: Likewise.
15520         * m4/libsigsegv.m4: Likewise.
15521         * m4/link-follow.m4: Likewise.
15522         * m4/localcharset.m4: Likewise.
15523         * m4/locale-fr.m4: Likewise.
15524         * m4/locale-ja.m4: Likewise.
15525         * m4/locale-tr.m4: Likewise.
15526         * m4/locale-zh.m4: Likewise.
15527         * m4/lock.m4: Likewise.
15528         * m4/longlong.m4: Likewise.
15529         * m4/ls-mntd-fs.m4: Likewise.
15530         * m4/lstat.m4: Likewise.
15531         * m4/malloc.m4: Likewise.
15532         * m4/mathl.m4: Likewise.
15533         * m4/mbrtowc.m4: Likewise.
15534         * m4/mbstate_t.m4: Likewise.
15535         * m4/mbswidth.m4: Likewise.
15536         * m4/memchr.m4: Likewise.
15537         * m4/memcmp.m4: Likewise.
15538         * m4/memcpy.m4: Likewise.
15539         * m4/memmem.m4: Likewise.
15540         * m4/memmove.m4: Likewise.
15541         * m4/mempcpy.m4: Likewise.
15542         * m4/memrchr.m4: Likewise.
15543         * m4/memset.m4: Likewise.
15544         * m4/minmax.m4: Likewise.
15545         * m4/mkdir-slash.m4: Likewise.
15546         * m4/mkdtemp.m4: Likewise.
15547         * m4/mktime.m4: Likewise.
15548         * m4/mmap-anon.m4: Likewise.
15549         * m4/mountlist.m4: Likewise.
15550         * m4/nanosleep.m4: Likewise.
15551         * m4/nls.m4: Likewise.
15552         * m4/nocrash.m4: Likewise.
15553         * m4/open.m4: Likewise.
15554         * m4/openat.m4: Likewise.
15555         * m4/openmp.m4: Likewise.
15556         * m4/pathmax.m4: Likewise.
15557         * m4/perl.m4: Likewise.
15558         * m4/physmem.m4: Likewise.
15559         * m4/pipe.m4: Likewise.
15560         * m4/po.m4: Likewise.
15561         * m4/poll.m4: Likewise.
15562         * m4/posixtm.m4: Likewise.
15563         * m4/posixver.m4: Likewise.
15564         * m4/printf-frexp.m4: Likewise.
15565         * m4/printf-frexpl.m4: Likewise.
15566         * m4/printf-posix.m4: Likewise.
15567         * m4/printf-posix-rpl.m4: Likewise.
15568         * m4/printf.m4: Likewise.
15569         * m4/progtest.m4: Likewise.
15570         * m4/putenv.m4: Likewise.
15571         * m4/readline.m4: Likewise.
15572         * m4/readlink.m4: Likewise.
15573         * m4/readutmp.m4: Likewise.
15574         * m4/realloc.m4: Likewise.
15575         * m4/regex.m4: Likewise.
15576         * m4/relocatable.m4: Likewise.
15577         * m4/relocatable-lib.m4: Likewise.
15578         * m4/rename-dest-slash.m4: Likewise.
15579         * m4/rename.m4: Likewise.
15580         * m4/rmdir-errno.m4: Likewise.
15581         * m4/rmdir.m4: Likewise.
15582         * m4/roundf.m4: Likewise.
15583         * m4/roundl.m4: Likewise.
15584         * m4/rpmatch.m4: Likewise.
15585         * m4/save-cwd.m4: Likewise.
15586         * m4/selinux-selinux-h.m4: Likewise.
15587         * m4/setenv.m4: Likewise.
15588         * m4/settime.m4: Likewise.
15589         * m4/sig2str.m4: Likewise.
15590         * m4/sig_atomic_t.m4: Likewise.
15591         * m4/signalblocking.m4: Likewise.
15592         * m4/signbit.m4: Likewise.
15593         * m4/sigpipe.m4: Likewise.
15594         * m4/sockets.m4: Likewise.
15595         * m4/sockpfaf.m4: Likewise.
15596         * m4/st_dm_mode.m4: Likewise.
15597         * m4/stat-time.m4: Likewise.
15598         * m4/stdbool.m4: Likewise.
15599         * m4/stdint.m4: Likewise.
15600         * m4/stdint_h.m4: Likewise.
15601         * m4/stpcpy.m4: Likewise.
15602         * m4/stpncpy.m4: Likewise.
15603         * m4/strcase.m4: Likewise.
15604         * m4/strchrnul.m4: Likewise.
15605         * m4/strcspn.m4: Likewise.
15606         * m4/strdup.m4: Likewise.
15607         * m4/strftime.m4: Likewise.
15608         * m4/strndup.m4: Likewise.
15609         * m4/strnlen.m4: Likewise.
15610         * m4/strpbrk.m4: Likewise.
15611         * m4/strptime.m4: Likewise.
15612         * m4/strsep.m4: Likewise.
15613         * m4/strtod.m4: Likewise.
15614         * m4/strtoimax.m4: Likewise.
15615         * m4/strtok_r.m4: Likewise.
15616         * m4/strtol.m4: Likewise.
15617         * m4/strtoll.m4: Likewise.
15618         * m4/strtoul.m4: Likewise.
15619         * m4/strtoull.m4: Likewise.
15620         * m4/strtoumax.m4: Likewise.
15621         * m4/strverscmp.m4: Likewise.
15622         * m4/threadlib.m4: Likewise.
15623         * m4/timegm.m4: Likewise.
15624         * m4/tm_gmtoff.m4: Likewise.
15625         * m4/tmpdir.m4: Likewise.
15626         * m4/tmpfile.m4: Likewise.
15627         * m4/tzset.m4: Likewise.
15628         * m4/uintmax_t.m4: Likewise.
15629         * m4/unlinkdir.m4: Likewise.
15630         * m4/unlocked-io.m4: Likewise.
15631         * m4/uptime.m4: Likewise.
15632         * m4/userspec.m4: Likewise.
15633         * m4/utimbuf.m4: Likewise.
15634         * m4/utime.m4: Likewise.
15635         * m4/utimes-null.m4: Likewise.
15636         * m4/utimes.m4: Likewise.
15637         * m4/vararrays.m4: Likewise.
15638         * m4/vasnprintf.m4: Likewise.
15639         * m4/vfprintf-posix.m4: Likewise.
15640         * m4/vprintf-posix.m4: Likewise.
15641         * m4/wait-process.m4: Likewise.
15642         * m4/wchar_t.m4: Likewise.
15643         * m4/wint_t.m4: Likewise.
15644         * m4/write-any-file.m4: Likewise.
15645         * m4/yield.m4: Likewise.
15646
15647 2009-01-13  Bruno Haible  <bruno@clisp.org>
15648
15649         Avoid test-copy-file.sh failures when ACL support insufficient.
15650         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
15651         TESTS_ENVIRONMENT.
15652         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
15653         Reported by Jim Meyering.
15654
15655 2009-01-13  Bruno Haible  <bruno@clisp.org>
15656
15657         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
15658         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
15659         * modules/unistdio/u8-printf-parse (Files): Likewise.
15660         * modules/unistdio/u32-printf-parse (Files): Likewise.
15661         * modules/unistdio/ulc-printf-parse (Files): Likewise.
15662
15663 2009-01-13  Simon Josefsson  <simon@josefsson.org>
15664
15665         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
15666         and m4/inttypes_h.m4 too.
15667
15668 2009-01-12  Eric Blake  <ebb9@byu.net>
15669
15670         tests: IRIX 6.2 cc can't compile -0.0 into .data
15671         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
15672         rather than at compile-time.
15673         * tests/test-floorl.c (minus_zero): Likewise.
15674         * tests/test-frexpl.c (minus_zero): Likewise.
15675         * tests/test-isnan.c (minus_zerol): Likewise.
15676         * tests/test-isnanl.h (minus_zero): Likewise.
15677         * tests/test-ldexpl.c (minus_zero): Likewise.
15678         * tests/test-roundl.c (minus_zero): Likewise.
15679         * tests/test-signbit.c (minus_zerol): Likewise.
15680         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
15681         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
15682         * tests/test-truncl.c (minus_zero): Likewise.
15683         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
15684         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
15685         Reported by Tom G. Christensen and Nelson H. F. Beebe.
15686
15687 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15688
15689         regex: fix glibc bug 9697
15690         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
15691         handling.
15692
15693 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15694
15695         regex: fix glibc bug 697
15696         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
15697         being NULL also if there are no backreferences.
15698
15699 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15700
15701         regex: merge glibc changes
15702         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
15703         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
15704         re_string_skip_chars, re_string_reconstruct): Likewise.
15705         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
15706
15707 2009-01-07  Jim Meyering  <meyering@redhat.com>
15708
15709         poll: filter through cppi
15710         * lib/poll.c: Indent cpp directives to reflect nesting.
15711
15712 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
15713
15714         poll: don't return uninitialized
15715         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
15716
15717 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
15718
15719         avoid compile failure on AIX 6.1
15720         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
15721         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
15722
15723 2009-01-04  Jim Meyering  <meyering@redhat.com>
15724
15725         remove duplicate inclusion of <stdio.h>
15726         * tests/test-fprintf-posix.c: Likewise.
15727         * tests/test-printf-posix.c: Likewise.
15728         * tests/test-snprintf-posix.c: Likewise.
15729         * tests/test-sprintf-posix.c: Likewise.
15730         * tests/test-vasprintf-posix.c: Likewise.
15731         * tests/test-vfprintf-posix.c: Likewise.
15732         * tests/test-vprintf-posix.c: Likewise.
15733         * tests/test-vsnprintf-posix.c: Likewise.
15734         * tests/test-vsprintf-posix.c: Likewise.
15735
15736 2009-01-03  Jim Meyering  <meyering@redhat.com>
15737
15738         gnulib-tool: fix sed-based filtering
15739         * gnulib-tool (func_filter_filelist): Remove extra backslash
15740         in sed_fff_filter definition.
15741
15742 2009-01-02  Jim Meyering  <meyering@redhat.com>
15743
15744         strftime: avoid compilation failure on Solaris 2.6
15745         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
15746         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
15747         Don't #define mbrlen or mbsinit, since now they're guaranteed to
15748         be available.  Reported by Tom G. Christensen.  Details in
15749         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
15750
15751 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15752             Bruno Haible  <bruno@clisp.org>
15753
15754         Speed up gnulib-tool by doing more string processing through shell
15755         built-ins.
15756         * gnulib-tool (fast_func_append): New variable.
15757         (func_remove_prefix, func_remove_suffix): New functions.
15758         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
15759         (func_filter_filelist): New function.
15760         (func_get_dependencies): Use func_remove_suffix instead of sed.
15761         (func_get_automake_snippet): Use func_filter_filelist instead of a
15762         subshell and sed invocation.
15763
15764 2009-01-01  Bruno Haible  <bruno@clisp.org>
15765
15766         Fix a security bug.
15767         * gnulib-tool (func_import, import, update): Don't allow the characters
15768         '"', '$', '`', '\' in macro arguments that become part of commands that
15769         are evaluated.
15770
15771 2009-01-01  Bruno Haible  <bruno@clisp.org>
15772
15773         * gnulib-tool (func_reset_sigpipe): Add more comments.
15774
15775 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15776
15777         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
15778         func_emit_tests_Makefile_am, func_import): Abort loops early if we
15779         already know the answer.
15780
15781 2009-01-01  Jim Meyering  <meyering@redhat.com>
15782
15783         * lib/version-etc.c (version_etc_va): Update copyright year.
15784
15785 2008-12-30  Bruno Haible  <bruno@clisp.org>
15786
15787         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
15788         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
15789         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
15790
15791 2008-12-29  Eric Blake  <ebb9@byu.net>
15792
15793         multiarch: avoid autoconf AC_REQUIRE bug
15794         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
15795         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
15796         2.63 and older.
15797         Reported by Bruno Haible, and analyzed in
15798         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
15799
15800 2008-12-29  Bruno Haible  <bruno@clisp.org>
15801
15802         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
15803         files in subdirectories correctly.
15804         Reported by Ralf Wildenhues.
15805
15806 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15807
15808         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
15809         rather than 'join FILE -', for Solaris join.
15810
15811 2008-12-29  Bruno Haible  <bruno@clisp.org>
15812
15813         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
15814         quoting.
15815         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
15816         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
15817         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
15818         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
15819         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
15820         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
15821         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
15822         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
15823         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
15824         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
15825         * m4/nls.m4 (AM_NLS): Likewise.
15826         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
15827         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
15828         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
15829         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
15830         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
15831         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
15832         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
15833         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
15834         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
15835         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
15836         * m4/xsize.m4 (gl_XSIZE): Likewise.
15837         Suggested by Jim Meyering.
15838
15839 2008-11-17  Bruce Korb  <bkorb@gnu.org>
15840
15841         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
15842         * lib/parse-duration.c: use a switch instead of cascading if's.
15843
15844 2008-12-29  Eric Blake  <ebb9@byu.net>
15845
15846         wchar.h: supply WEOF on Irix 5.3
15847         * lib/wchar.in.h (wint_t): Also supply WEOF.
15848         * lib/wctype.in.h (wint_t): Likewise.
15849         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
15850         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
15851         Reported by Tom G. Christensen.
15852
15853 2008-12-26  Bruno Haible  <bruno@clisp.org>
15854
15855         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
15856         i486, i586, i686.
15857
15858 2008-12-26  Bruno Haible  <bruno@clisp.org>
15859
15860         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
15861
15862 2008-12-26  Bruno Haible  <bruno@clisp.org>
15863
15864         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
15865         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
15866         not __STDC_CONSTANT_MACROS.
15867         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
15868
15869 2008-12-25  Bruno Haible  <bruno@clisp.org>
15870
15871         Add support for universal builds to vasnprintf.
15872         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
15873         universal builds, guess no.
15874         * modules/vasnprintf-posix (Depends-on): Add multiarch.
15875         * modules/vasprintf-posix (Depends-on): Likewise.
15876         * modules/fprintf-posix (Depends-on): Likewise.
15877         * modules/vfprintf-posix (Depends-on): Likewise.
15878         * modules/snprintf-posix (Depends-on): Likewise.
15879         * modules/vsnprintf-posix (Depends-on): Likewise.
15880         * modules/sprintf-posix (Depends-on): Likewise.
15881         * modules/vsprintf-posix (Depends-on): Likewise.
15882         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
15883         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
15884         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
15885         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
15886         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
15887         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
15888         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
15889
15890         Add support for universal builds to <inttypes.h>.
15891         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
15892         _SCNu64_PREFIX): In Apple
15893         universal builds, define directly, using _LP64.
15894         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
15895         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
15896         * modules/inttypes (Depends-on): Add multiarch.
15897         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
15898
15899         Add support for universal builds to <stdint.h>.
15900         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
15901         universal builds, define directly, using _LP64.
15902         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
15903         Apple universal builds, don't test for the size and suffix of ptrdiff_t
15904         and size_t.
15905         * modules/stdint (Depends-on): Add multiarch.
15906         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
15907
15908         New module 'multiarch'.
15909         * modules/multiarch: New file.
15910         * m4/multiarch.m4: New file.
15911
15912 2008-12-25  Bruno Haible  <bruno@clisp.org>
15913
15914         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
15915
15916 2008-12-25  Bruno Haible  <bruno@clisp.org>
15917
15918         * modules/btowc (License): Relicense under LGPLv2+.
15919         * modules/mbsinit (License): Likewise.
15920         * modules/mbrtowc (License): Likewise.
15921         * modules/wcrtomb (License): Likewise.
15922         * modules/streq (License): Likewise.
15923         Reported by David Lutterkort <lutter@redhat.com>.
15924
15925 2008-12-23  Bruno Haible  <bruno@clisp.org>
15926
15927         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
15928
15929 2008-12-23  Bruno Haible  <bruno@clisp.org>
15930
15931         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
15932         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
15933         GETADDRINFO_LIB, not in LIBS.
15934         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
15935         * modules/canon-host (Link): Likewise.
15936         * NEWS: Mention the change.
15937         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
15938         GETADDRINFO_LIB.
15939
15940 2008-12-22  Bruno Haible  <bruno@clisp.org>
15941
15942         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
15943         * doc/posix-functions/iswalpha_l.texi: Likewise.
15944         * doc/posix-functions/iswblank_l.texi: Likewise.
15945         * doc/posix-functions/iswcntrl_l.texi: Likewise.
15946         * doc/posix-functions/iswctype_l.texi: Likewise.
15947         * doc/posix-functions/iswdigit_l.texi: Likewise.
15948         * doc/posix-functions/iswgraph_l.texi: Likewise.
15949         * doc/posix-functions/iswlower_l.texi: Likewise.
15950         * doc/posix-functions/iswprint_l.texi: Likewise.
15951         * doc/posix-functions/iswpunct_l.texi: Likewise.
15952         * doc/posix-functions/iswspace_l.texi: Likewise.
15953         * doc/posix-functions/iswupper_l.texi: Likewise.
15954         * doc/posix-functions/iswxdigit_l.texi: Likewise.
15955         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
15956         * doc/posix-functions/open_wmemstream.texi: Likewise.
15957         * doc/posix-functions/swscanf.texi: Likewise.
15958         * doc/posix-functions/towctrans_l.texi: Likewise.
15959         * doc/posix-functions/towlower.texi: Likewise.
15960         * doc/posix-functions/towlower_l.texi: Likewise.
15961         * doc/posix-functions/towupper.texi: Likewise.
15962         * doc/posix-functions/towupper_l.texi: Likewise.
15963         * doc/posix-functions/vfwprintf.texi: Likewise.
15964         * doc/posix-functions/vfwscanf.texi: Likewise.
15965         * doc/posix-functions/vswscanf.texi: Likewise.
15966         * doc/posix-functions/vwprintf.texi: Likewise.
15967         * doc/posix-functions/vwscanf.texi: Likewise.
15968         * doc/posix-functions/wcpcpy.texi: Likewise.
15969         * doc/posix-functions/wcpncpy.texi: Likewise.
15970         * doc/posix-functions/wcscasecmp.texi: Likewise.
15971         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
15972         * doc/posix-functions/wcscoll_l.texi: Likewise.
15973         * doc/posix-functions/wcsdup.texi: Likewise.
15974         * doc/posix-functions/wcsncasecmp.texi: Likewise.
15975         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
15976         * doc/posix-functions/wcsnlen.texi: Likewise.
15977         * doc/posix-functions/wcsnrtombs.texi: Likewise.
15978         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
15979         * doc/posix-functions/wctrans_l.texi: Likewise.
15980         * doc/posix-functions/wctype_l.texi: Likewise.
15981         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
15982         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
15983         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
15984         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
15985         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
15986         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
15987         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
15988         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
15989         * doc/glibc-functions/wcschrnul.texi: Likewise.
15990         * doc/glibc-functions/wcsftime_l.texi: Likewise.
15991         * doc/glibc-functions/wcstod_l.texi: Likewise.
15992         * doc/glibc-functions/wcstof_l.texi: Likewise.
15993         * doc/glibc-functions/wcstol_l.texi: Likewise.
15994         * doc/glibc-functions/wcstold_l.texi: Likewise.
15995         * doc/glibc-functions/wcstoll_l.texi: Likewise.
15996         * doc/glibc-functions/wcstoq.texi: Likewise.
15997         * doc/glibc-functions/wcstoul_l.texi: Likewise.
15998         * doc/glibc-functions/wcstoull_l.texi: Likewise.
15999         * doc/glibc-functions/wcstouq.texi: Likewise.
16000         * doc/glibc-functions/wmempcpy.texi: Likewise.
16001
16002 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
16003             Eric Blake  <ebb9@byu.net>
16004             Paolo Bonzini  <bonzini@gnu.org>
16005             Bruno Haible  <bruno@clisp.org>
16006
16007         Make c-stack work on Haiku.
16008         * lib/c-stack.c (SA_ONSTACK): Define fallback.
16009         (c_stack_action): Use SA_ONSTACK flag.
16010
16011 2008-12-22  Bruno Haible  <bruno@clisp.org>
16012
16013         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
16014
16015 2008-12-22  Bruno Haible  <bruno@clisp.org>
16016
16017         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
16018         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
16019         being overridden.
16020         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
16021         New macros.
16022         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
16023         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
16024         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
16025         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
16026
16027 2008-12-22  Bruno Haible  <bruno@clisp.org>
16028
16029         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
16030         from test code.
16031
16032 2008-12-22  Eric Blake  <ebb9@byu.net>
16033
16034         Avoid gcc warnings on cygwin.
16035         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
16036         Avoid unused variable.
16037         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
16038         Likewise.
16039
16040 2008-12-22  Bruno Haible  <bruno@clisp.org>
16041
16042         Remove HAVE_MBRTOWC conditionals.
16043         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
16044         (mbscasecmp): Assume mbrtowc function.
16045         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
16046         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
16047         * lib/mbschr.c: Include mbuiter.h unconditionally.
16048         (mbschr): Assume mbrtowc function.
16049         * lib/mbscspn.c: Include mbuiter.h unconditionally.
16050         (mbscspn): Assume mbrtowc function.
16051         * lib/mbslen.c: Include mbuiter.h unconditionally.
16052         (mbslen): Assume mbrtowc function.
16053         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
16054         (mbsncasecmp): Assume mbrtowc function.
16055         * lib/mbsnlen.c: Include mbiter.h unconditionally.
16056         (mbsnlen): Assume mbrtowc function.
16057         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
16058         (mbspbrk): Assume mbrtowc function.
16059         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
16060         (mbspcasecmp): Assume mbrtowc function.
16061         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
16062         (mbsrchr): Assume mbrtowc function.
16063         * lib/mbssep.c: Include mbuiter.h unconditionally.
16064         (mbssep): Assume mbrtowc function.
16065         * lib/mbsspn.c: Include mbuiter.h unconditionally.
16066         (mbsspn): Assume mbrtowc function.
16067         * lib/mbsstr.c: Include mbuiter.h unconditionally.
16068         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
16069         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
16070         (mbstok_r): Assume mbrtowc function.
16071         * lib/propername.c: Include mbuiter.h unconditionally.
16072         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
16073         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
16074         (trim2): Assume mbrtowc function.
16075         * lib/mbswidth.c (mbsinit): Remove fallback definition.
16076         (mbsnwidth): Assume mbrtowc function.
16077         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
16078         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
16079         fallback definitions.
16080         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
16081
16082 2008-12-22  Bruno Haible  <bruno@clisp.org>
16083
16084         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
16085
16086 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
16087
16088         * modules/regex: Request emulations for the mb*/wc* functions we need.
16089         * m4/regex.m4: Don't look for those functions here.
16090         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
16091
16092 2008-12-22  Bruno Haible  <bruno@clisp.org>
16093
16094         * modules/fnmatch (Depends-on): Remove duplicated dependency.
16095
16096 2008-12-21  Bruno Haible  <bruno@clisp.org>
16097
16098         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
16099         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
16100         (Include): Remove conditionalization.
16101         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
16102         (Include): Remove conditionalization.
16103         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
16104         (Include): Remove conditionalization.
16105         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
16106         * m4/mbfile.m4 (gl_MBFILE): Likewise.
16107         * NEWS: Mention the change.
16108         Reported by Alan Hourihane <alanh@fairlite.co.uk>
16109         via Sergey Poznyakoff <gray@gnu.org.ua>.
16110
16111 2008-12-21  Bruno Haible  <bruno@clisp.org>
16112
16113         * MODULES.html.sh (Extended multibyte and wide character utilities
16114         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
16115         wcrtomb, wcsrtombs.
16116         (Support for systems lacking POSIX:2008): Add accept, bind, close,
16117         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
16118         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
16119         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
16120
16121 2008-12-21  Bruno Haible  <bruno@clisp.org>
16122
16123         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
16124
16125 2008-12-21  Bruno Haible  <bruno@clisp.org>
16126
16127         * modules/wcsnrtombs-tests: New file.
16128         * tests/test-wcsnrtombs1.sh: New file.
16129         * tests/test-wcsnrtombs2.sh: New file.
16130         * tests/test-wcsnrtombs3.sh: New file.
16131         * tests/test-wcsnrtombs4.sh: New file.
16132         * tests/test-wcsnrtombs.c: New file.
16133
16134         New module 'wcsnrtombs'.
16135         * lib/wchar.in.h (wcsnrtombs): New declaration.
16136         * lib/wcsnrtombs.c: New file.
16137         * lib/wcsrtombs-state.c: New file.
16138         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
16139         (internal_state): Remove variable.
16140         * m4/wcsnrtombs.m4: New file.
16141         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
16142         compilation units.
16143         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
16144         HAVE_WCSNRTOMBS.
16145         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
16146         HAVE_WCSNRTOMBS.
16147         * modules/wcsnrtombs: New file.
16148         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
16149         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
16150
16151 2008-12-21  Bruno Haible  <bruno@clisp.org>
16152
16153         * modules/wcsrtombs-tests: New file.
16154         * tests/test-wcsrtombs1.sh: New file.
16155         * tests/test-wcsrtombs2.sh: New file.
16156         * tests/test-wcsrtombs3.sh: New file.
16157         * tests/test-wcsrtombs4.sh: New file.
16158         * tests/test-wcsrtombs.c: New file.
16159
16160         New module 'wcsrtombs'.
16161         * lib/wchar.in.h (wcsrtombs): New declaration.
16162         * lib/wcsrtombs.c: New file.
16163         * m4/wcsrtombs.m4: New file.
16164         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
16165         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
16166         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
16167         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
16168         * modules/wcsrtombs: New file.
16169         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
16170         bugs.
16171
16172 2008-12-21  Bruno Haible  <bruno@clisp.org>
16173
16174         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
16175         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
16176         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
16177         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
16178         if not correct.
16179         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
16180         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
16181         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16182         m4/locale-zh.m4, m4/codeset.m4.
16183         * doc/posix-functions/wcrtomb.texi: Document the bug.
16184
16185 2008-12-21  Bruno Haible  <bruno@clisp.org>
16186
16187         Work around a btowc() bug on IRIX 6.5.
16188         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
16189         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
16190         REPLACE_WTOBC if not.
16191         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
16192         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
16193         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
16194
16195 2008-12-21  Bruno Haible  <bruno@clisp.org>
16196
16197         * modules/wcrtomb-tests: New file.
16198         * tests/test-wcrtomb.sh: New file.
16199         * tests/test-wcrtomb.c: New file.
16200
16201         New module 'wcrtomb'.
16202         * lib/wchar.in.h (wcrtomb): New declaration.
16203         * lib/wcrtomb.c: New file.
16204         * m4/wcrtomb.m4: New file.
16205         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
16206         HAVE_WCRTOMB.
16207         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
16208         HAVE_WCRTOMB.
16209         * modules/wcrtomb: New file.
16210         * doc/posix-functions/wcrtomb.texi: Mention the new module.
16211
16212 2008-12-21  Bruno Haible  <bruno@clisp.org>
16213
16214         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
16215         * modules/mbsrtowcs (Files): Likewise.
16216         * modules/wctob (Files): Likewise.
16217         * modules/c-strcase-tests (Files): Likewise.
16218         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
16219         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
16220         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
16221         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
16222         * modules/vasnprintf-posix-tests (Files): Likewise.
16223
16224 2008-12-21  William Pursell  <bill.pursell@gmail.com>
16225
16226         gitlog-to-changelog: pass all command-line arguments to git-log
16227         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
16228         it is sometimes convenient to filter the commits in various ways.
16229         gitlog-to-changelog only allows --since to specify a start date,
16230         but git-log itself supports many other filtering mechanisms.
16231         At the moment, I want to filter by branch name.  Rather than
16232         adding a --branch option to gitlog-to-changelog, it seems more
16233         flexible to simply pass all options directly to git-log and let
16234         git do the work.  Notice that this effectively makes --since a
16235         redundant option for gitlog-to-changelog, but removing it would
16236         require current usage to change since calls would then require
16237         an additional '--'.
16238
16239 2008-12-21  Bruno Haible  <bruno@clisp.org>
16240
16241         * modules/mbsnrtowcs-tests: New file.
16242         * tests/test-mbsnrtowcs1.sh: New file.
16243         * tests/test-mbsnrtowcs2.sh: New file.
16244         * tests/test-mbsnrtowcs3.sh: New file.
16245         * tests/test-mbsnrtowcs4.sh: New file.
16246         * tests/test-mbsnrtowcs.c: New file.
16247
16248         New module 'mbsnrtowcs'.
16249         * lib/wchar.in.h (mbsnrtowcs): New declaration.
16250         * lib/mbsnrtowcs.c: New file.
16251         * lib/mbsrtowcs-state.c: New file.
16252         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
16253         (internal_state): Remove variable.
16254         * m4/mbsnrtowcs.m4: New file.
16255         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
16256         compilation units.
16257         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
16258         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
16259         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
16260         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
16261         * modules/mbsnrtowcs: New file.
16262         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
16263         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
16264         portability problem.
16265
16266 2008-12-21  Bruno Haible  <bruno@clisp.org>
16267
16268         Work around mbsrtowcs bug.
16269         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
16270         (gl_FUNC_MBSRTOWCS): Invoke it.
16271         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16272         m4/locale-zh.m4.
16273         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
16274
16275 2008-12-21  Bruno Haible  <bruno@clisp.org>
16276
16277         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
16278
16279 2008-12-21  Bruno Haible  <bruno@clisp.org>
16280
16281         Update doc for AIX.
16282         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
16283         16-bit wchar_t type.
16284         * doc/posix-functions/btowc.texi: Likewise.
16285         * doc/posix-functions/fgetwc.texi: Likewise.
16286         * doc/posix-functions/fgetws.texi: Likewise.
16287         * doc/posix-functions/fputwc.texi: Likewise.
16288         * doc/posix-functions/fputws.texi: Likewise.
16289         * doc/posix-functions/fwide.texi: Likewise.
16290         * doc/posix-functions/fwprintf.texi: Likewise.
16291         * doc/posix-functions/fwscanf.texi: Likewise.
16292         * doc/posix-functions/getwchar.texi: Likewise.
16293         * doc/posix-functions/getwc.texi: Likewise.
16294         * doc/posix-functions/iswalnum.texi: Likewise.
16295         * doc/posix-functions/iswalpha.texi: Likewise.
16296         * doc/posix-functions/iswblank.texi: Likewise.
16297         * doc/posix-functions/iswcntrl.texi: Likewise.
16298         * doc/posix-functions/iswctype.texi: Likewise.
16299         * doc/posix-functions/iswdigit.texi: Likewise.
16300         * doc/posix-functions/iswgraph.texi: Likewise.
16301         * doc/posix-functions/iswlower.texi: Likewise.
16302         * doc/posix-functions/iswprint.texi: Likewise.
16303         * doc/posix-functions/iswpunct.texi: Likewise.
16304         * doc/posix-functions/iswspace.texi: Likewise.
16305         * doc/posix-functions/iswupper.texi: Likewise.
16306         * doc/posix-functions/iswxdigit.texi: Likewise.
16307         * doc/posix-functions/mbrtowc.texi: Likewise.
16308         * doc/posix-functions/mbsrtowcs.texi: Likewise.
16309         * doc/posix-functions/mbstowcs.texi: Likewise.
16310         * doc/posix-functions/mbtowc.texi: Likewise.
16311         * doc/posix-functions/putwchar.texi: Likewise.
16312         * doc/posix-functions/putwc.texi: Likewise.
16313         * doc/posix-functions/swprintf.texi: Likewise.
16314         * doc/posix-functions/tolower.texi: Likewise.
16315         * doc/posix-functions/toupper.texi: Likewise.
16316         * doc/posix-functions/towctrans.texi: Likewise.
16317         * doc/posix-functions/ungetwc.texi: Likewise.
16318         * doc/posix-functions/vswprintf.texi: Likewise.
16319         * doc/posix-functions/wcrtomb.texi: Likewise.
16320         * doc/posix-functions/wcscat.texi: Likewise.
16321         * doc/posix-functions/wcschr.texi: Likewise.
16322         * doc/posix-functions/wcscmp.texi: Likewise.
16323         * doc/posix-functions/wcscoll.texi: Likewise.
16324         * doc/posix-functions/wcscpy.texi: Likewise.
16325         * doc/posix-functions/wcscspn.texi: Likewise.
16326         * doc/posix-functions/wcsftime.texi: Likewise.
16327         * doc/posix-functions/wcslen.texi: Likewise.
16328         * doc/posix-functions/wcsncat.texi: Likewise.
16329         * doc/posix-functions/wcsncmp.texi: Likewise.
16330         * doc/posix-functions/wcsncpy.texi: Likewise.
16331         * doc/posix-functions/wcspbrk.texi: Likewise.
16332         * doc/posix-functions/wcsrchr.texi: Likewise.
16333         * doc/posix-functions/wcsrtombs.texi: Likewise.
16334         * doc/posix-functions/wcsspn.texi: Likewise.
16335         * doc/posix-functions/wcsstr.texi: Likewise.
16336         * doc/posix-functions/wcstod.texi: Likewise.
16337         * doc/posix-functions/wcstof.texi: Likewise.
16338         * doc/posix-functions/wcstoimax.texi: Likewise.
16339         * doc/posix-functions/wcstok.texi: Likewise.
16340         * doc/posix-functions/wcstold.texi: Likewise.
16341         * doc/posix-functions/wcstoll.texi: Likewise.
16342         * doc/posix-functions/wcstol.texi: Likewise.
16343         * doc/posix-functions/wcstombs.texi: Likewise.
16344         * doc/posix-functions/wcstoull.texi: Likewise.
16345         * doc/posix-functions/wcstoul.texi: Likewise.
16346         * doc/posix-functions/wcstoumax.texi: Likewise.
16347         * doc/posix-functions/wcswidth.texi: Likewise.
16348         * doc/posix-functions/wcsxfrm.texi: Likewise.
16349         * doc/posix-functions/wctob.texi: Likewise.
16350         * doc/posix-functions/wctomb.texi: Likewise.
16351         * doc/posix-functions/wctrans.texi: Likewise.
16352         * doc/posix-functions/wctype.texi: Likewise.
16353         * doc/posix-functions/wcwidth.texi: Likewise.
16354         * doc/posix-functions/wmemchr.texi: Likewise.
16355         * doc/posix-functions/wmemcmp.texi: Likewise.
16356         * doc/posix-functions/wmemcpy.texi: Likewise.
16357         * doc/posix-functions/wmemmove.texi: Likewise.
16358         * doc/posix-functions/wmemset.texi: Likewise.
16359         * doc/posix-functions/wprintf.texi: Likewise.
16360         * doc/posix-functions/wscanf.texi: Likewise.
16361
16362 2008-12-21  Bruno Haible  <bruno@clisp.org>
16363
16364         Update doc for HP-UX 11.11.
16365         * doc/posix-functions/btowc.texi: Clarify that the function is missing
16366         in HP-UX version 11.00, not in all versions of HP-UX 11.
16367         * doc/posix-functions/fwide.texi: Likewise.
16368         * doc/posix-functions/fwprintf.texi: Likewise.
16369         * doc/posix-functions/fwscanf.texi: Likewise.
16370         * doc/posix-functions/inet_ntop.texi: Likewise.
16371         * doc/posix-functions/inet_pton.texi: Likewise.
16372         * doc/posix-functions/mbrlen.texi: Likewise.
16373         * doc/posix-functions/mbrtowc.texi: Likewise.
16374         * doc/posix-functions/mbsinit.texi: Likewise.
16375         * doc/posix-functions/mbsrtowcs.texi: Likewise.
16376         * doc/posix-functions/swprintf.texi: Likewise.
16377         * doc/posix-functions/swscanf.texi: Likewise.
16378         * doc/posix-functions/towctrans.texi: Likewise.
16379         * doc/posix-functions/vfwprintf.texi: Likewise.
16380         * doc/posix-functions/vswprintf.texi: Likewise.
16381         * doc/posix-functions/vwprintf.texi: Likewise.
16382         * doc/posix-functions/wcrtomb.texi: Likewise.
16383         * doc/posix-functions/wcsrtombs.texi: Likewise.
16384         * doc/posix-functions/wcsstr.texi: Likewise.
16385         * doc/posix-functions/wctob.texi: Likewise.
16386         * doc/posix-functions/wctrans.texi: Likewise.
16387         * doc/posix-functions/wmemchr.texi: Likewise.
16388         * doc/posix-functions/wmemcmp.texi: Likewise.
16389         * doc/posix-functions/wmemcpy.texi: Likewise.
16390         * doc/posix-functions/wmemmove.texi: Likewise.
16391         * doc/posix-functions/wmemset.texi: Likewise.
16392         * doc/posix-functions/wprintf.texi: Likewise.
16393         * doc/posix-functions/wscanf.texi: Likewise.
16394
16395 2008-12-21  Bruno Haible  <bruno@clisp.org>
16396
16397         Work around a portability problem.
16398         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
16399         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
16400
16401 2008-12-20  Bruno Haible  <bruno@clisp.org>
16402
16403         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
16404         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
16405         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
16406         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
16407         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
16408
16409         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
16410         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
16411         set.
16412         (GNULIB_defined_mbstate_t): New macro.
16413         (mbsinit): Redefine if REPLACE_MBSINIT is set.
16414         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
16415         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
16416         reuses the system's mbrtowc function but works around the bugs.
16417         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
16418         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
16419         macros.
16420         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
16421         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
16422         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
16423         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
16424         REPLACE_MBSINIT if mbsinit needs to be overridden.
16425         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
16426         REPLACE_MBSINIT, REPLACE_MBRTOWC.
16427         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
16428         REPLACE_MBSINIT, REPLACE_MBRTOWC.
16429         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16430         m4/locale-zh.m4.
16431         (Depends): Add mbsinit.
16432         * modules/mbsinit (Depends): Add mbrtowc.
16433         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
16434
16435 2008-12-20  Bruno Haible  <bruno@clisp.org>
16436
16437         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
16438         so that there are no conversion errors on AIX.
16439         * tests/test-mbsrtowcs.c (main): LIkewise.
16440
16441 2008-12-20  Bruno Haible  <bruno@clisp.org>
16442
16443         Work around wctob bug on Solaris <= 9.
16444         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
16445         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
16446         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
16447         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
16448         * modules/wctob (Files): Add m4/locale-fr.m4.
16449         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
16450
16451 2008-12-20  Bruno Haible  <bruno@clisp.org>
16452
16453         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
16454         /dev/null.
16455         * tests/test-select-in.sh: Likewise.
16456         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16457
16458 2008-12-20  Bruno Haible  <bruno@clisp.org>
16459
16460         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
16461         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
16462         Cygwin 1.5.x.
16463
16464 2008-12-20  Bruno Haible  <bruno@clisp.org>
16465
16466         Ensure mbstate_t is defined on HP-UX 11.11.
16467         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
16468         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
16469         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
16470         AC_USE_SYSTEM_EXTENSIONS.
16471         * modules/fnmatch (Depends-on): Add extensions.
16472         * modules/mbrlen (Depends-on): Likewise.
16473         * modules/mbrtowc (Depends-on): Likewise.
16474         * modules/mbsinit (Depends-on): Likewise.
16475         * modules/mbsrtowcs (Depends-on): Likewise.
16476         * modules/mbswidth (Depends-on): Likewise.
16477         * modules/quotearg (Depends-on): Likewise.
16478         * modules/strftime (Depends-on): Likewise.
16479
16480 2008-12-20  Bruno Haible  <bruno@clisp.org>
16481
16482         Ensure wctob is declared on IRIX 6.5.
16483         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
16484         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
16485         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
16486         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
16487         of HAVE_WCTOB.
16488         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
16489         HAVE_WCTOB.
16490         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
16491
16492 2008-12-19  Bruno Haible  <bruno@clisp.org>
16493
16494         * modules/mbsrtowcs-tests: New file.
16495         * tests/test-mbsrtowcs1.sh: New file.
16496         * tests/test-mbsrtowcs2.sh: New file.
16497         * tests/test-mbsrtowcs3.sh: New file.
16498         * tests/test-mbsrtowcs4.sh: New file.
16499         * tests/test-mbsrtowcs.c: New file.
16500
16501         New module 'mbsrtowcs'.
16502         * lib/wchar.in.h (mbsrtowcs): New declaration.
16503         * lib/mbsrtowcs.c: New file.
16504         * m4/mbsrtowcs.m4: New file.
16505         * modules/mbsrtowcs: New file.
16506         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
16507         HAVE_MBSRTOWCS.
16508         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
16509         HAVE_MBSRTOWCS.
16510         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
16511
16512 2008-12-19  Bruno Haible  <bruno@clisp.org>
16513
16514         New module 'mbrlen'.
16515         * lib/wchar.in.h (mbrlen): New declaration.
16516         * lib/mbrlen.c: New file.
16517         * m4/mbrlen.m4: New file.
16518         * modules/mbrlen: New file.
16519         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
16520         HAVE_MBRLEN.
16521         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
16522         HAVE_MBRLEN.
16523         * doc/posix-functions/mbrlen.texi: Document the new module.
16524
16525 2008-12-19  Bruno Haible  <bruno@clisp.org>
16526
16527         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
16528         * modules/mbrtowc (Depends-on): Add verify.
16529         Suggested by Paul Eggert.
16530
16531 2008-12-18  Bruno Haible  <bruno@clisp.org>
16532
16533         * modules/mbsinit-tests: New file.
16534         * tests/test-mbsinit.sh: New file.
16535         * tests/test-mbsinit.c: New file.
16536
16537 2008-12-18  Bruno Haible  <bruno@clisp.org>
16538
16539         * modules/mbrtowc-tests: New file.
16540         * tests/test-mbrtowc1.sh: New file.
16541         * tests/test-mbrtowc2.sh: New file.
16542         * tests/test-mbrtowc3.sh: New file.
16543         * tests/test-mbrtowc4.sh: New file.
16544         * tests/test-mbrtowc.c: New file.
16545
16546         New module 'mbrtowc'.
16547         * lib/wchar.in.h (mbstate_t): Override when the system does not have
16548         mbsinit and mbrtowc.
16549         (mbrtowc): New declaration.
16550         * lib/mbrtowc.c: New file.
16551         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
16552         * modules/mbrtowc: New file.
16553         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
16554         HAVE_MBRTOWC.
16555         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
16556         HAVE_MBRTOWC.
16557         * doc/posix-functions/mbrtowc.texi: Document the new module.
16558
16559 2008-12-18  Bruno Haible  <bruno@clisp.org>
16560
16561         New module 'wctob'.
16562         * lib/wchar.in.h (wctob): New declaration.
16563         * lib/wctob.c: New file.
16564         * m4/wctob.m4: New file.
16565         * modules/wctob: New file.
16566         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
16567         HAVE_WCTOB.
16568         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
16569         * doc/posix-functions/wctob.texi: Document the new module.
16570
16571 2008-12-18  Bruno Haible  <bruno@clisp.org>
16572
16573         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
16574         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
16575
16576 2008-12-18  Simon Josefsson  <simon@josefsson.org>
16577
16578         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
16579         G. Christensen" <tgc@jupiterrise.com>.
16580
16581         * lib/flock.c: Need to include errno.h.  Reported by "Tom
16582         G. Christensen" <tgc@jupiterrise.com>.
16583
16584         * lib/flock.c: Need to include string.h.  Reported by "Tom
16585         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
16586         <ebb9@byu.net>.
16587
16588 2008-12-18  Bruno Haible  <bruno@clisp.org>
16589
16590         * m4/locale-ja.m4: New file, from GNU gettext.
16591
16592 2008-12-17  Bruno Haible  <bruno@clisp.org>
16593
16594         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
16595         Suggested by Eric Blake.
16596
16597 2008-12-17  Bruno Haible  <bruno@clisp.org>
16598
16599         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
16600
16601 2008-12-17  Bruno Haible  <bruno@clisp.org>
16602
16603         * lib/mbsinit.c: Include verify.h. Verify an assumption.
16604         * modules/mbsinit (Depends-on): Add verify.
16605         Suggested by Paul Eggert.
16606
16607 2008-12-17  Bruno Haible  <bruno@clisp.org>
16608
16609         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
16610         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
16611         gl_FUNC_MBRTOWC.
16612         * m4/mbiter.m4 (gl_MBITER): LIkewise.
16613         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
16614         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
16615         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
16616         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
16617         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
16618         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
16619         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
16620         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
16621         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
16622         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
16623         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
16624         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
16625         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
16626         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
16627         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
16628         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
16629         * modules/trim (configure.ac): Likewise.
16630
16631 2008-12-17  Bruno Haible  <bruno@clisp.org>
16632
16633         * modules/btowc-tests: New file.
16634         * tests/test-btowc1.sh: New file.
16635         * tests/test-btowc2.sh: New file.
16636         * tests/test-btowc.c: New file.
16637
16638         New module 'btowc'.
16639         * lib/wchar.in.h (btowc): New declaration.
16640         * lib/btowc.c: New file.
16641         * m4/btowc.m4: New file.
16642         * modules/btowc: New file.
16643         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
16644         HAVE_BTOWC.
16645         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
16646         * doc/posix-functions/btowc.texi: Document the new module.
16647
16648 2008-12-17  Bruno Haible  <bruno@clisp.org>
16649
16650         New module 'mbsinit'.
16651         * lib/wchar.in.h (mbsinit): New declaration.
16652         * lib/mbsinit.c: New file.
16653         * m4/mbsinit.m4: New file.
16654         * modules/mbsinit: New file.
16655         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
16656         HAVE_MBSINIT.
16657         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
16658         HAVE_MBSINIT.
16659         * doc/posix-functions/mbsinit.texi: Document the new module.
16660
16661 2008-12-16  Bruno Haible  <bruno@clisp.org>
16662
16663         * lib/unistd.in.h: Add comment.
16664         * tests/test-environ.c: Don't include <stdlib.h>.
16665
16666 2008-12-16  Bruno Haible  <bruno@clisp.org>
16667
16668         * lib/parse-duration.h (parse_duration): Document return value
16669         convention.
16670         * lib/parse-duration.c: Include specification header first. Add
16671         comments.
16672         (_): Remove macro.
16673         (parse_year_month_day, parse_hour_minute_second): Move side effects
16674         outside of strchr call.
16675         (parse_non_iso8601): Move side effects outside of isspace call.
16676         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
16677         call.
16678
16679 2008-12-16  Bruno Haible  <bruno@clisp.org>
16680
16681         * tests/test-parse-duration.sh: Produce no output when the test
16682         succeeds.
16683
16684 2008-12-16  Bruno Haible  <bruno@clisp.org>
16685
16686         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
16687         expressions.
16688
16689 2008-12-15  Bruno Haible  <bruno@clisp.org>
16690
16691         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
16692         * doc/glibc-functions/flistxattr.texi: Likewise.
16693         * doc/glibc-functions/fopencookie.texi: Likewise.
16694         * doc/glibc-functions/fremovexattr.texi: Likewise.
16695         * doc/glibc-functions/fsetxattr.texi: Likewise.
16696         * doc/glibc-functions/getxattr.texi: Likewise.
16697         * doc/glibc-functions/lgetxattr.texi: Likewise.
16698         * doc/glibc-functions/listxattr.texi: Likewise.
16699         * doc/glibc-functions/llistxattr.texi: Likewise.
16700         * doc/glibc-functions/lremovexattr.texi: Likewise.
16701         * doc/glibc-functions/lsetxattr.texi: Likewise.
16702         * doc/glibc-functions/removexattr.texi: Likewise.
16703         * doc/glibc-functions/setxattr.texi: Likewise.
16704         * doc/posix-functions/open_memstream.texi: Likewise.
16705
16706 2008-12-15  Eric Blake  <ebb9@byu.net>
16707
16708         Update doc for cygwin 1.7.
16709         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
16710         functions.
16711         * doc/posix-functions/fchmodat.texi: Likewise.
16712         * doc/posix-functions/fchownat.texi: Likewise.
16713         * doc/posix-functions/fdopendir.texi: Likewise.
16714         * doc/posix-functions/fmemopen.texi: Likewise.
16715         * doc/posix-functions/freeaddrinfo.texi: Likewise.
16716         * doc/posix-functions/fstatat.texi: Likewise.
16717         * doc/posix-functions/futimens.texi: Likewise.
16718         * doc/posix-functions/gai_strerror.texi: Likewise.
16719         * doc/posix-functions/getaddrinfo.texi: Likewise.
16720         * doc/posix-functions/getnameinfo.texi: Likewise.
16721         * doc/posix-functions/if_freenameindex.texi: Likewise.
16722         * doc/posix-functions/if_indextoname.texi: Likewise.
16723         * doc/posix-functions/if_nameindex.texi: Likewise.
16724         * doc/posix-functions/if_nametoindex.texi: Likewise.
16725         * doc/posix-functions/insque.texi: Likewise.
16726         * doc/posix-functions/linkat.texi: Likewise.
16727         * doc/posix-functions/llrint.texi: Likewise.
16728         * doc/posix-functions/llrintf.texi: Likewise.
16729         * doc/posix-functions/llrintl.texi: Likewise.
16730         * doc/posix-functions/lockf.texi: Likewise.
16731         * doc/posix-functions/lrintl.texi: Likewise.
16732         * doc/posix-functions/mkdirat.texi: Likewise.
16733         * doc/posix-functions/mkfifoat.texi: Likewise.
16734         * doc/posix-functions/mknodat.texi: Likewise.
16735         * doc/posix-functions/mq_close.texi: Likewise.
16736         * doc/posix-functions/mq_getattr.texi: Likewise.
16737         * doc/posix-functions/mq_notify.texi: Likewise.
16738         * doc/posix-functions/mq_open.texi: Likewise.
16739         * doc/posix-functions/mq_receive.texi: Likewise.
16740         * doc/posix-functions/mq_send.texi: Likewise.
16741         * doc/posix-functions/mq_setattr.texi: Likewise.
16742         * doc/posix-functions/mq_timedreceive.texi: Likewise.
16743         * doc/posix-functions/mq_timedsend.texi: Likewise.
16744         * doc/posix-functions/mq_unlink.texi: Likewise.
16745         * doc/posix-functions/open_memstream.texi: Likewise.
16746         * doc/posix-functions/openat.texi: Likewise.
16747         * doc/posix-functions/posix_fadvise.texi: Likewise.
16748         * doc/posix-functions/posix_fallocate.texi: Likewise.
16749         * doc/posix-functions/posix_madvise.texi: Likewise.
16750         * doc/posix-functions/posix_memalign.texi: Likewise.
16751         * doc/posix-functions/posix_openpt.texi: Likewise.
16752         * doc/posix-functions/readlinkat.texi: Likewise.
16753         * doc/posix-functions/remque.texi: Likewise.
16754         * doc/posix-functions/renameat.texi: Likewise.
16755         * doc/posix-functions/rintl.texi: Likewise.
16756         * doc/posix-functions/sem_unlink.texi: Likewise.
16757         * doc/posix-functions/shm_open.texi: Likewise.
16758         * doc/posix-functions/shm_unlink.texi: Likewise.
16759         * doc/posix-functions/signgam.texi: Likewise.
16760         * doc/posix-functions/sigset.texi: Likewise.
16761         * doc/posix-functions/stpcpy.texi: Likewise.
16762         * doc/posix-functions/stpncpy.texi: Likewise.
16763         * doc/posix-functions/strerror.texi: Likewise.
16764         * doc/posix-functions/strtod.texi: Likewise.
16765         * doc/posix-functions/symlinkat.texi: Likewise.
16766         * doc/posix-functions/unlinkat.texi: Likewise.
16767         * doc/posix-functions/utimensat.texi: Likewise.
16768         * doc/glibc-functions/bindresvport.texi: Likewise.
16769         * doc/glibc-functions/dn_expand.texi: Likewise.
16770         * doc/glibc-functions/exp10.texi: Likewise.
16771         * doc/glibc-functions/exp10f.texi: Likewise.
16772         * doc/glibc-functions/fgetxattr.texi: Likewise.
16773         * doc/glibc-functions/flistxattr.texi: Likewise.
16774         * doc/glibc-functions/fopencookie.texi: Likewise.
16775         * doc/glibc-functions/freeifaddrs.texi: Likewise.
16776         * doc/glibc-functions/fremovexattr.texi: Likewise.
16777         * doc/glibc-functions/fsetxattr.texi: Likewise.
16778         * doc/glibc-functions/getifaddrs.texi: Likewise.
16779         * doc/glibc-functions/getxattr.texi: Likewise.
16780         * doc/glibc-functions/lgetxattr.texi: Likewise.
16781         * doc/glibc-functions/listxattr.texi: Likewise.
16782         * doc/glibc-functions/llistxattr.texi: Likewise.
16783         * doc/glibc-functions/lremovexattr.texi: Likewise.
16784         * doc/glibc-functions/lsetxattr.texi: Likewise.
16785         * doc/glibc-functions/pow10.texi: Likewise.
16786         * doc/glibc-functions/pow10f.texi: Likewise.
16787         * doc/glibc-functions/rcmd_af.texi: Likewise.
16788         * doc/glibc-functions/removexattr.texi: Likewise.
16789         * doc/glibc-functions/res_init.texi: Likewise.
16790         * doc/glibc-functions/res_mkquery.texi: Likewise.
16791         * doc/glibc-functions/res_query.texi: Likewise.
16792         * doc/glibc-functions/res_querydomain.texi: Likewise.
16793         * doc/glibc-functions/res_send.texi: Likewise.
16794         * doc/glibc-functions/rresvport_af.texi: Likewise.
16795         * doc/glibc-functions/setxattr.texi: Likewise.
16796         * doc/glibc-functions/strcasestr.texi: Likewise.
16797
16798 2008-12-15  Bruno Haible  <bruno@clisp.org>
16799
16800         Fix compilation error on OSF/1 4.0.
16801         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
16802         <sys/time.h>, simply delegate to the system header.
16803         Reported by Daniel Richard G. <oss@teragram.com>.
16804
16805 2008-12-15  Bruno Haible  <bruno@clisp.org>
16806
16807         * doc/posix-functions/openat.texi: Mention the 'openat' module.
16808         * doc/posix-functions/fchmodat.texi: Likewise.
16809         * doc/posix-functions/fchownat.texi: Likewise.
16810         * doc/posix-functions/fdopendir.texi: Likewise.
16811         * doc/posix-functions/fstatat.texi: Likewise.
16812         * doc/posix-functions/mkdirat.texi: Likewise.
16813         * doc/posix-functions/unlinkat.texi: Likewise.
16814
16815 2008-12-14  Bruno Haible  <bruno@clisp.org>
16816
16817         Update doc for POSIX:2008.
16818         * doc/posix-functions/faccessat.texi: New file.
16819         * doc/posix-functions/fchmodat.texi: New file.
16820         * doc/posix-functions/fchownat.texi: New file.
16821         * doc/posix-functions/fdopendir.texi: New file.
16822         * doc/posix-functions/fstatat.texi: New file.
16823         * doc/posix-functions/futimens.texi: New file.
16824         * doc/posix-functions/linkat.texi: New file.
16825         * doc/posix-functions/mkdirat.texi: New file.
16826         * doc/posix-functions/mkfifoat.texi: New file.
16827         * doc/posix-functions/mknodat.texi: New file.
16828         * doc/posix-functions/open_wmemstream.texi: New file.
16829         * doc/posix-functions/openat.texi: New file.
16830         * doc/posix-functions/psiginfo.texi: New file.
16831         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
16832         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
16833         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
16834         * doc/posix-functions/readlinkat.texi: New file.
16835         * doc/posix-functions/renameat.texi: New file.
16836         * doc/posix-functions/strerror_l.texi: New file.
16837         * doc/posix-functions/symlinkat.texi: New file.
16838         * doc/posix-functions/unlinkat.texi: New file.
16839         * doc/posix-functions/utimensat.texi: New file.
16840         * doc/gnulib.texi (Function Substitutes): Add these subsections.
16841
16842 2008-12-14  Bruno Haible  <bruno@clisp.org>
16843
16844         Update doc for POSIX:2008.
16845         * doc/posix-functions/alphasort.texi: Renamed from
16846         doc/glibc-functions/alphasort.texi.
16847         * doc/posix-functions/dirfd.texi: Renamed from
16848         doc/glibc-functions/dirfd.texi.
16849         * doc/posix-functions/dprintf.texi: Renamed from
16850         doc/glibc-functions/dprintf.texi.
16851         * doc/posix-functions/duplocale.texi: Renamed from
16852         doc/glibc-functions/duplocale.texi.
16853         * doc/posix-functions/fexecve.texi: Renamed from
16854         doc/glibc-functions/fexecve.texi.
16855         * doc/posix-functions/fmemopen.texi: Renamed from
16856         doc/glibc-functions/fmemopen.texi.
16857         * doc/posix-functions/freelocale.texi: Renamed from
16858         doc/glibc-functions/freelocale.texi.
16859         * doc/posix-functions/getdate_err.texi: Renamed from
16860         doc/glibc-functions/getdate_err.texi.
16861         * doc/posix-functions/isalnum_l.texi: Renamed from
16862         doc/glibc-functions/isalnum_l.texi.
16863         * doc/posix-functions/isalpha_l.texi: Renamed from
16864         doc/glibc-functions/isalpha_l.texi.
16865         * doc/posix-functions/isblank_l.texi: Renamed from
16866         doc/glibc-functions/isblank_l.texi.
16867         * doc/posix-functions/iscntrl_l.texi: Renamed from
16868         doc/glibc-functions/iscntrl_l.texi.
16869         * doc/posix-functions/isdigit_l.texi: Renamed from
16870         doc/glibc-functions/isdigit_l.texi.
16871         * doc/posix-functions/isgraph_l.texi: Renamed from
16872         doc/glibc-functions/isgraph_l.texi.
16873         * doc/posix-functions/islower_l.texi: Renamed from
16874         doc/glibc-functions/islower_l.texi.
16875         * doc/posix-functions/isprint_l.texi: Renamed from
16876         doc/glibc-functions/isprint_l.texi.
16877         * doc/posix-functions/ispunct_l.texi: Renamed from
16878         doc/glibc-functions/ispunct_l.texi.
16879         * doc/posix-functions/isspace_l.texi: Renamed from
16880         doc/glibc-functions/isspace_l.texi.
16881         * doc/posix-functions/isupper_l.texi: Renamed from
16882         doc/glibc-functions/isupper_l.texi.
16883         * doc/posix-functions/iswalnum_l.texi: Renamed from
16884         doc/glibc-functions/iswalnum_l.texi.
16885         * doc/posix-functions/iswalpha_l.texi: Renamed from
16886         doc/glibc-functions/iswalpha_l.texi.
16887         * doc/posix-functions/iswblank_l.texi: Renamed from
16888         doc/glibc-functions/iswblank_l.texi.
16889         * doc/posix-functions/iswcntrl_l.texi: Renamed from
16890         doc/glibc-functions/iswcntrl_l.texi.
16891         * doc/posix-functions/iswctype_l.texi: Renamed from
16892         doc/glibc-functions/iswctype_l.texi.
16893         * doc/posix-functions/iswdigit_l.texi: Renamed from
16894         doc/glibc-functions/iswdigit_l.texi.
16895         * doc/posix-functions/iswgraph_l.texi: Renamed from
16896         doc/glibc-functions/iswgraph_l.texi.
16897         * doc/posix-functions/iswlower_l.texi: Renamed from
16898         doc/glibc-functions/iswlower_l.texi.
16899         * doc/posix-functions/iswprint_l.texi: Renamed from
16900         doc/glibc-functions/iswprint_l.texi.
16901         * doc/posix-functions/iswpunct_l.texi: Renamed from
16902         doc/glibc-functions/iswpunct_l.texi.
16903         * doc/posix-functions/iswspace_l.texi: Renamed from
16904         doc/glibc-functions/iswspace_l.texi.
16905         * doc/posix-functions/iswupper_l.texi: Renamed from
16906         doc/glibc-functions/iswupper_l.texi.
16907         * doc/posix-functions/iswxdigit_l.texi: Renamed from
16908         doc/glibc-functions/iswxdigit_l.texi.
16909         * doc/posix-functions/isxdigit_l.texi: Renamed from
16910         doc/glibc-functions/isxdigit_l.texi.
16911         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
16912         doc/glibc-functions/mbsnrtowcs.texi.
16913         * doc/posix-functions/mkdtemp.texi: Renamed from
16914         doc/glibc-functions/mkdtemp.texi.
16915         * doc/posix-functions/newlocale.texi: Renamed from
16916         doc/glibc-functions/newlocale.texi.
16917         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
16918         doc/glibc-functions/nl_langinfo_l.texi.
16919         * doc/posix-functions/open_memstream.texi: Renamed from
16920         doc/glibc-functions/open_memstream.texi.
16921         * doc/posix-functions/opterr.texi: Renamed from
16922         doc/glibc-functions/opterr.texi.
16923         * doc/posix-functions/optind.texi: Renamed from
16924         doc/glibc-functions/optind.texi.
16925         * doc/posix-functions/optopt.texi: Renamed from
16926         doc/glibc-functions/optopt.texi.
16927         * doc/posix-functions/psignal.texi: Renamed from
16928         doc/glibc-functions/psignal.texi.
16929         * doc/posix-functions/scandir.texi: Renamed from
16930         doc/glibc-functions/scandir.texi.
16931         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
16932         doc/glibc-functions/sched_get_priority_min.texi.
16933         * doc/posix-functions/signgam.texi: Renamed from
16934         doc/glibc-functions/signgam.texi.
16935         * doc/posix-functions/stpcpy.texi: Renamed from
16936         doc/glibc-functions/stpcpy.texi.
16937         * doc/posix-functions/stpncpy.texi: Renamed from
16938         doc/glibc-functions/stpncpy.texi.
16939         * doc/posix-functions/strcasecmp_l.texi: Renamed from
16940         doc/glibc-functions/strcasecmp_l.texi.
16941         * doc/posix-functions/strcoll_l.texi: Renamed from
16942         doc/glibc-functions/strcoll_l.texi.
16943         * doc/posix-functions/strfmon_l.texi: Renamed from
16944         doc/glibc-functions/strfmon_l.texi.
16945         * doc/posix-functions/strftime_l.texi: Renamed from
16946         doc/glibc-functions/strftime_l.texi.
16947         * doc/posix-functions/strncasecmp_l.texi: Renamed from
16948         doc/glibc-functions/strncasecmp_l.texi.
16949         * doc/posix-functions/strndup.texi: Renamed from
16950         doc/glibc-functions/strndup.texi.
16951         * doc/posix-functions/strnlen.texi: Renamed from
16952         doc/glibc-functions/strnlen.texi.
16953         * doc/posix-functions/strsignal.texi: Renamed from
16954         doc/glibc-functions/strsignal.texi.
16955         * doc/posix-functions/strxfrm_l.texi: Renamed from
16956         doc/glibc-functions/strxfrm_l.texi.
16957         * doc/posix-functions/timer_gettime.texi: Renamed from
16958         doc/glibc-functions/timer_gettime.texi.
16959         * doc/posix-functions/tolower_l.texi: Renamed from
16960         doc/glibc-functions/tolower_l.texi.
16961         * doc/posix-functions/toupper_l.texi: Renamed from
16962         doc/glibc-functions/toupper_l.texi.
16963         * doc/posix-functions/towctrans_l.texi: Renamed from
16964         doc/glibc-functions/towctrans_l.texi.
16965         * doc/posix-functions/towlower_l.texi: Renamed from
16966         doc/glibc-functions/towlower_l.texi.
16967         * doc/posix-functions/towupper_l.texi: Renamed from
16968         doc/glibc-functions/towupper_l.texi.
16969         * doc/posix-functions/uselocale.texi: Renamed from
16970         doc/glibc-functions/uselocale.texi.
16971         * doc/posix-functions/vdprintf.texi: Renamed from
16972         doc/glibc-functions/vdprintf.texi.
16973         * doc/posix-functions/wcpcpy.texi:
16974         Renamed from doc/glibc-functions/wcpcpy.texi.
16975         * doc/posix-functions/wcpncpy.texi: Renamed from
16976         doc/glibc-functions/wcpncpy.texi.
16977         * doc/posix-functions/wcscasecmp.texi: Renamed from
16978         doc/glibc-functions/wcscasecmp.texi.
16979         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
16980         doc/glibc-functions/wcscasecmp_l.texi.
16981         * doc/posix-functions/wcscoll_l.texi: Renamed from
16982         doc/glibc-functions/wcscoll_l.texi.
16983         * doc/posix-functions/wcsdup.texi: Renamed from
16984         doc/glibc-functions/wcsdup.texi.
16985         * doc/posix-functions/wcsncasecmp.texi: Renamed from
16986         doc/glibc-functions/wcsncasecmp.texi.
16987         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
16988         doc/glibc-functions/wcsncasecmp_l.texi.
16989         * doc/posix-functions/wcsnlen.texi: Renamed from
16990         doc/glibc-functions/wcsnlen.texi.
16991         * doc/posix-functions/wcsnrtombs.texi: Renamed from
16992         doc/glibc-functions/wcsnrtombs.texi.
16993         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
16994         doc/glibc-functions/wcsxfrm_l.texi.
16995         * doc/posix-functions/wctrans_l.texi: Renamed from
16996         doc/glibc-functions/wctrans_l.texi.
16997         * doc/posix-functions/wctype_l.texi: Renamed from
16998         doc/glibc-functions/wctype_l.texi.
16999         * doc/gnulib.texi (Function Substitutes): Add these subsections.
17000         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
17001         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
17002         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
17003         these subsections.
17004         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
17005         Remove sections.
17006
17007 2008-12-14  Bruno Haible  <bruno@clisp.org>
17008
17009         Update doc for POSIX:2008.
17010         * doc/posix-functions/*.texi: Update URL of POSIX specification.
17011
17012 2008-12-14  Bruno Haible  <bruno@clisp.org>
17013
17014         Update doc for POSIX:2008.
17015         * doc/pastposix-functions/bcmp.texi: Renamed from
17016         doc/posix-functions/bcmp.texi.
17017         * doc/pastposix-functions/bcopy.texi: Renamed from
17018         doc/posix-functions/bcopy.texi.
17019         * doc/pastposix-functions/bsd_signal.texi: Renamed from
17020         doc/posix-functions/bsd_signal.texi.
17021         * doc/pastposix-functions/bzero.texi: Renamed from
17022         doc/posix-functions/bzero.texi.
17023         * doc/pastposix-functions/ecvt.texi: Renamed from
17024         doc/posix-functions/ecvt.texi.
17025         * doc/pastposix-functions/fcvt.texi: Renamed from
17026         doc/posix-functions/fcvt.texi.
17027         * doc/pastposix-functions/ftime.texi: Renamed from
17028         doc/posix-functions/ftime.texi.
17029         * doc/pastposix-functions/gcvt.texi: Renamed from
17030         doc/posix-functions/gcvt.texi.
17031         * doc/pastposix-functions/getcontext.texi: Renamed from
17032         doc/posix-functions/getcontext.texi.
17033         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
17034         doc/posix-functions/gethostbyaddr.texi.
17035         * doc/pastposix-functions/gethostbyname.texi: Renamed from
17036         doc/posix-functions/gethostbyname.texi.
17037         * doc/pastposix-functions/getwd.texi: Renamed from
17038         doc/posix-functions/getwd.texi.
17039         * doc/pastposix-functions/h_errno.texi: Renamed from
17040         doc/posix-functions/h_errno.texi.
17041         * doc/pastposix-functions/index.texi: Renamed from
17042         doc/posix-functions/index.texi.
17043         * doc/pastposix-functions/makecontext.texi: Renamed from
17044         doc/posix-functions/makecontext.texi.
17045         * doc/pastposix-functions/mktemp.texi: Renamed from
17046         doc/posix-functions/mktemp.texi.
17047         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
17048         doc/posix-functions/pthread_attr_getstackaddr.texi.
17049         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
17050         doc/posix-functions/pthread_attr_setstackaddr.texi.
17051         * doc/pastposix-functions/rindex.texi: Renamed from
17052         doc/posix-functions/rindex.texi.
17053         * doc/pastposix-functions/scalb.texi: Renamed from
17054         doc/posix-functions/scalb.texi.
17055         * doc/pastposix-functions/setcontext.texi: Renamed from
17056         doc/posix-functions/setcontext.texi.
17057         * doc/pastposix-functions/swapcontext.texi: Renamed from
17058         doc/posix-functions/swapcontext.texi.
17059         * doc/pastposix-functions/ualarm.texi: Renamed from
17060         doc/posix-functions/ualarm.texi.
17061         * doc/pastposix-functions/usleep.texi: Renamed from
17062         doc/posix-functions/usleep.texi.
17063         * doc/pastposix-functions/vfork.texi: Renamed from
17064         doc/posix-functions/vfork.texi.
17065         * doc/pastposix-functions/wcswcs.texi: Renamed from
17066         doc/posix-functions/wcswcs.texi.
17067         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
17068         (Function Substitutes): Update.
17069
17070 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17071
17072         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
17073         m4/strerror.m4.
17074
17075 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17076             Bruno Haible  <bruno@clisp.org>
17077
17078         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
17079
17080 2008-12-13  Bruno Haible  <bruno@clisp.org>
17081
17082         * modules/strtoull (Depends-on): Remove unistd.
17083
17084 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17085
17086         * modules/strtoull (Depends-on): Add stdlib.
17087
17088 2008-12-11  Simon Josefsson  <simon@josefsson.org>
17089
17090         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
17091
17092 2008-12-10  Jim Meyering  <meyering@redhat.com>
17093
17094         gl_ASSERT: don't say assertions are disabled when they're not
17095         * m4/assert.m4 (gl_ASSERT): Do not make configure report
17096         "checking whether to enable assertions... no", when they are in
17097         fact enabled.  This is solely a bug in the output of configure.
17098         In spite of saying "no", NDEBUG was not defined in that case.
17099         Also, as noted by Eric Blake, leave assertions enabled upon
17100         --enable-assert=INVALID.
17101
17102 2008-12-10  Bruno Haible  <bruno@clisp.org>
17103
17104         Change MODULES.html to refer to POSIX:2008 where possible.
17105         * MODULES.html.sh (POSIX2008_URL): New variable.
17106         (posix_headers): Remove sys/timeb, ucontext.
17107         (posix2001_headers): New variable.
17108         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
17109         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
17110         index, makecontext, mktemp, pthread_attr_getstackaddr,
17111         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
17112         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
17113         (posix2001_functions): New variable.
17114         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
17115         otherwise.
17116
17117 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17118
17119         add missing include to parse-duration.c
17120         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
17121         * modules/parse-duration (Depends-on): Add xalloc.
17122
17123         fix sed script reading maint.mk
17124         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
17125         (syntax-check-rules): Use it.
17126
17127 2008-12-09  Bruno Haible  <bruno@clisp.org>
17128
17129         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
17130         MacOS X 10.4/PowerPC.
17131         Reported by Simon Josefsson.
17132
17133 2008-12-08  Jim Meyering  <meyering@redhat.com>
17134
17135         work around mingw's lack of some S_IF definitions
17136         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
17137         Reported by Simon Josefsson.
17138
17139 2008-12-08  Bruno Haible  <bruno@clisp.org>
17140
17141         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
17142         applied to variables. Needed on MacOS X 10.4/PowerPC.
17143         Reported by Simon Josefsson.
17144
17145 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
17146         and Eric Blake  <ebb9@byu.net>
17147
17148         assert: honor --enable-assert
17149         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
17150         order to honor --enable-assert, rather than treating it as a
17151         synonym for --disable-assert.
17152
17153 2008-12-08  Jim Meyering  <meyering@redhat.com>
17154
17155         * lib/posixtm.c: Remove now-useless declaration of mktime.
17156
17157         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
17158
17159 2008-12-07  Bruno Haible  <bruno@clisp.org>
17160
17161         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
17162         test_once): Mark functions as static.
17163         * tests/test-tls.c (test_tls): Likewise.
17164
17165 2008-12-07  Bruno Haible  <bruno@clisp.org>
17166
17167         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
17168         iconv_register_autodetect.
17169
17170 2008-12-07  Jim Meyering  <meyering@redhat.com>
17171
17172         posixtm.c: avoid a warning
17173         * lib/posixtm.c (posixtime): Don't initialize tm0.
17174         It's no longer needed to placate gcc4's -Wuninitialized,
17175         and the attempt to placate would elicit a new warning.
17176
17177         unicodeio.c: mark unused parameters
17178         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
17179         (fallback_failure_callback): Likewise.
17180
17181 2008-12-07  Bruno Haible  <bruno@clisp.org>
17182
17183         * gnulib-tool (func_create_testdir): When building the tests
17184         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
17185         Reported by Simon Josefsson.
17186
17187 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17188
17189         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
17190
17191 2008-12-06  Bruno Haible  <bruno@clisp.org>
17192
17193         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
17194         Suggested by Eric Blake.
17195
17196 2008-12-06  Bruno Haible  <bruno@clisp.org>
17197
17198         Fix a c-stack test failure on MacOS X.
17199         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
17200         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
17201         handler for SIGBUS as well.
17202         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
17203         install a signal handler for SIGBUS as well.
17204         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
17205
17206 2008-12-06  Bruno Haible  <bruno@clisp.org>
17207
17208         Advocacy documentation.
17209         * doc/gnulib-intro.texi (Benefits): New section.
17210         * doc/gnulib.texi: Update.
17211
17212 2008-12-06  Bruno Haible  <bruno@clisp.org>
17213
17214         Document the 'manywarnings' module.
17215         * doc/manywarnings.texi: New file.
17216         * doc/gnulib.texi: Include it.
17217
17218 2008-12-05  Eric Blake  <ebb9@byu.net>
17219
17220         tests: silence some gcc warnings
17221         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
17222         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
17223         type mismatches.
17224
17225 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17226             Bruno Haible  <bruno@clisp.org>
17227
17228         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
17229
17230 2008-11-29  Jim Meyering  <meyering@redhat.com>
17231
17232         unicodeio.c: mark unused parameters
17233         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
17234         (fallback_failure_callback): Likewise.
17235
17236         fts: fix a thinko
17237         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
17238         (set_stat_type): Return S_IF*-valued "type" directly.
17239         Prompted by James Youngman's spotting a related bug.
17240         Confirmed by further testing through find.
17241
17242         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
17243         * lib/fts.c (D_TYPE): Define.
17244         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
17245         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
17246         (s_ifmt_shift_bits): New function.
17247         (set_stat_type): New function.
17248         (fts_build): When not calling fts_stat, call set_stat_type
17249         to propagate dirent.d_type info to fts_read caller.
17250         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
17251         fts_statp->st_mode type information may be valid.
17252
17253 2008-11-28  Simon Josefsson  <simon@josefsson.org>
17254
17255         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
17256         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
17257         <sds@gnu.org>.
17258
17259 2008-11-20  Bruno Haible  <bruno@clisp.org>
17260
17261         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
17262         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
17263         INCLUDE_NEXT.
17264         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
17265         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
17266         * modules/math (Makefile.am): Substitute
17267         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
17268         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17269
17270 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
17271             Bruno Haible  <bruno@clisp.org>
17272
17273         * lib/stdint.in.h: Define all type macros so that their expansion is
17274         a single typedef'ed token. Fixes a compilation failure in Boost which
17275         does "using ::int8_t;".
17276
17277 2008-11-18  Simon Josefsson  <simon@josefsson.org>
17278
17279         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
17280         gl_MANYWARN_ALL_GCC.
17281         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
17282         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
17283         * modules/manywarnings: New file.
17284         * MODULES.html.sh: Mention manywarnings module.
17285
17286 2008-11-18  Bruno Haible  <bruno@clisp.org>
17287
17288         * doc/gnulib-tool.texi (Unit tests): New section.
17289
17290 2008-11-18  Simon Josefsson  <simon@josefsson.org>
17291
17292         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
17293         paths like 'lib/po/foo.po'.
17294
17295 2008-11-17  Simon Josefsson  <simon@josefsson.org>
17296
17297         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
17298         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
17299
17300 2008-11-17  Simon Josefsson  <simon@josefsson.org>
17301
17302         * m4/warnings.m4: Use CPPFLAGS to really check whether the
17303         parameter works.
17304
17305 2008-11-17  Simon Josefsson  <simon@josefsson.org>
17306
17307         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
17308
17309 2008-11-17  Bruce Korb  <bkorb@gnu.org>
17310
17311         * modules/parse-duration-tests: New file.
17312         * tests/test-parse-duration.sh: New file.
17313         * tests/test-parse-duration.c: New file.
17314
17315         New module 'parse-duration'.
17316         * lib/parse-duration.h: New file.
17317         * lib/parse-duration.c: New file.
17318         * modules/parse-duration: New file.
17319
17320 2008-11-17  Bruno Haible  <bruno@clisp.org>
17321
17322         * tests/test-select-out.sh: Comment out the first pipe test.
17323         Reported by Simon Josefsson.
17324
17325 2008-11-17  Bruno Haible  <bruno@clisp.org>
17326
17327         * modules/getaddrinfo (Depends-on): Add servent, hostent.
17328         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
17329         gl_HOSTENT.
17330
17331 2008-11-17  Bruno Haible  <bruno@clisp.org>
17332
17333         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
17334         -lnetwork and -lnet. Needed for Haiku and BeOS.
17335
17336 2008-11-16  Bruno Haible  <bruno@clisp.org>
17337
17338         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
17339
17340 2008-11-16  Bruno Haible  <bruno@clisp.org>
17341
17342         Avoid test failure on Haiku.
17343         * tests/test-fsync.c: Include <errno.h>.
17344         (main): Don't require that fsync (0) fails.
17345
17346 2008-11-15  Bruno Haible  <bruno@clisp.org>
17347
17348         New module 'hostent'.
17349         * modules/hostent: New file.
17350         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
17351
17352 2008-11-15  Bruno Haible  <bruno@clisp.org>
17353
17354         New module 'servent'.
17355         * modules/servent: New file.
17356         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
17357
17358 2008-11-15  Bruno Haible  <bruno@clisp.org>
17359
17360         Avoid generating same test program with two different rules.
17361         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
17362         test-frexp to test-frexp-nolibm.
17363         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
17364         test-frexpl to test-frexpl-nolibm.
17365
17366 2008-11-15  Bruno Haible  <bruno@clisp.org>
17367
17368         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
17369         $(FREXPL_LIBM).
17370
17371 2008-11-15  Bruno Haible  <bruno@clisp.org>
17372
17373         * lib/netdb.in.h: Activate the definitions also when the system's
17374         <netdb.h> has 'struct addrinfo'.
17375         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
17376         EAI_OVERFLOW or AI_NUMERICSERV.
17377         * doc/posix-headers/netdb.texi: Document the problem.
17378
17379 2008-11-15  Bruno Haible  <bruno@clisp.org>
17380
17381         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
17382
17383         Make the 'sched' module work on platforms where <sched.h> exists but
17384         is incomplete (such as Haiku).
17385         * lib/sched.in.h; Include the system's <sched.h> if it exists.
17386         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
17387         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
17388         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
17389         HAVE_STRUCT_SCHED_PARAM.
17390         * modules/sched (Depends-on): Add include_next.
17391         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
17392         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
17393         * doc/posix-headers/sched.texi: Document the issue.
17394
17395 2008-11-13  Jim Meyering  <meyering@redhat.com>
17396
17397         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
17398         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
17399         test would fail due to the difference in the Report bugs to ...
17400         line.  The expected address is empty, "<>", while the actual
17401         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
17402
17403 2008-11-12  Bruno Haible  <bruno@clisp.org>
17404
17405         lstat: don't compile lstat.c on systems lacking lstat
17406         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
17407         which don't have lstat; this is handled by lib/sys_stat.in.h already.
17408         Reported by Daniel P. Berrange via Jim Meyering.
17409
17410 2008-11-12  Jim Meyering  <meyering@redhat.com>
17411
17412         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
17413
17414 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17415
17416         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
17417         instead.
17418
17419 2008-11-12  Bruno Haible  <bruno@clisp.org>
17420
17421         * lib/unicodeio.c: Include unistr.h.
17422         (utf8_wctomb): Remove function.
17423         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
17424
17425 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17426
17427         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
17428         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
17429         <bruno@clisp.org>.
17430         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
17431
17432 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17433
17434         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
17435         * doc/gnulib.texi: Add section for warnings.
17436
17437 2008-11-11  Bruno Haible  <bruno@clisp.org>
17438
17439         * lib/sockets.h: Add a comment.
17440
17441 2008-11-11  Karl Berry  <karl@gnu.org>
17442
17443         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
17444
17445 2008-11-11  Eric Blake  <ebb9@byu.net>
17446
17447         fdl.texi: avoid git symlinks
17448         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
17449
17450 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17451
17452         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
17453
17454 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17455
17456         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
17457         (gl_WARN_ADD): Substitute $2 if literal.
17458
17459 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17460
17461         * m4/warning.m4: Remove.
17462
17463 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17464
17465         * m4/warnings.m4: Almost complete rewrite. :-)
17466
17467 2008-11-10  Simon Josefsson  <simon@josefsson.org>
17468
17469         * modules/warnings: New module.
17470         * m4/warnings.m4: New file.
17471         * MODULES.html.sh: Mention warnings module.
17472         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
17473         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17474
17475 2008-11-10  Eric Blake  <ebb9@byu.net>
17476
17477         fdl.texi: make a symlink to the latest version
17478         * doc/standards.texi: Revert today's earlier change.
17479         * doc/fdl-1.2.texi: Rename from old fdl.texi...
17480         * doc/fdl.texi: ...and replace this with a symlink to the newer
17481         fdl-1.3.texi.
17482
17483 2008-11-10  Bruno Haible  <bruno@clisp.org>
17484
17485         * tests/test-select-fd.c (main): Accept the result file name as fourth
17486         argument.
17487         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
17488         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
17489
17490 2008-11-10  Bruno Haible  <bruno@clisp.org>
17491
17492         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
17493         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
17494         as autoconf-substituted macros.
17495         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
17496         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
17497         gl_NETDB_H_DEFAULTS. Set these variables.
17498         * modules/netdb (Makefile.am): Substitute these variables.
17499
17500 2008-11-10  Eric Blake  <ebb9@byu.net>
17501
17502         standards.texi: include correct file for FDL 1.3
17503         * doc/standards.texi (GNU Free Documentation License): Change
17504         include file to pull in FDL 1.3, not 1.2.
17505
17506         fdl.texi: revert accidental change to license
17507         * doc/fdl.texi: This is FDL 1.2, not 1.3.
17508
17509 2008-11-10  Bruno Haible  <bruno@clisp.org>
17510
17511         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
17512         cross-compiling guesses also when the native compile gives no result.
17513
17514 2008-11-10  Bruno Haible  <bruno@clisp.org>
17515
17516         * lib/spawni.c (__spawni): Force variable into the stack.
17517
17518 2008-11-10  Bruno Haible  <bruno@clisp.org>
17519
17520         Add support for Haiku.
17521         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
17522         glibc and BeOS, but also on Haiku.
17523         * lib/fpurge.c (fpurge): Likewise.
17524         * lib/freadable.c (freadable): Likewise.
17525         * lib/freadahead.c (freadahead): Likewise.
17526         * lib/freading.c (freading): Likewise.
17527         * lib/freadptr.c (freadptr): Likewise.
17528         * lib/freadseek.c (freadptrinc): Likewise.
17529         * lib/fseeko.c (rpl_fseeko): Likewise.
17530         * lib/fseterr.c (fseterr): Likewise.
17531         * lib/fwritable.c (fwritable): Likewise.
17532         * lib/fwriting.c (fwriting): Likewise.
17533         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
17534
17535 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17536
17537         * lib/config.charset: Treat Haiku like BeOS.
17538
17539 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17540
17541         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
17542         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
17543
17544 2008-11-08  Bruno Haible  <bruno@clisp.org>
17545
17546         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
17547         AC_CACHE_CHECK.
17548
17549 2008-11-08  Bruno Haible  <bruno@clisp.org>
17550
17551         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
17552
17553 2008-11-08  Bruno Haible  <bruno@clisp.org>
17554
17555         * tests/test-select-fd.c: New file.
17556         * tests/test-select-in.sh: New file.
17557         * tests/test-select-out.sh: New file.
17558         * tests/test-select-stdin.c: New file.
17559         * modules/select-tests (Files): Add the new files.
17560         (Depends-on): Add gettimeofday.
17561         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
17562         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
17563         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
17564
17565 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
17566             Bruno Haible  <bruno@clisp.org>
17567
17568         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
17569
17570 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
17571
17572         * build-aux/pmccabe2html: Added support for C++ source files.
17573
17574 2008-11-05  Ben Pfaff  <blp@gnu.org>
17575
17576         Fix lib/close.c build on Windows.
17577         * modules/close (Files): Add lib/w32sock.h.
17578
17579 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
17580
17581         Accept Bison's NEWS format.
17582         * build-aux/announce-gen (print_news_deltas): Tweak
17583         $re_prefix.
17584
17585 2008-11-04  Bruno Haible  <bruno@clisp.org>
17586
17587         * modules/random_r (Maintainer): Add glibc.
17588
17589 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17590
17591         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
17592         by karl@freefriends.org (Karl Berry).
17593         * doc/alloca.texi: Likewise.
17594         * doc/c-ctype.texi: Likewise.
17595         * doc/c-strcase.texi: Likewise.
17596         * doc/c-strcaseeq.texi: Likewise.
17597         * doc/c-strcasestr.texi: Likewise.
17598         * doc/c-strstr.texi: Likewise.
17599         * doc/c-strtod.texi: Likewise.
17600         * doc/c-strtold.texi: Likewise.
17601         * doc/ctime.texi: Likewise.
17602         * doc/error.texi: Likewise.
17603         * doc/fdl.texi: Likewise.
17604         * doc/gcd.texi: Likewise.
17605         * doc/getdate.texi: Likewise.
17606         * doc/gnulib-intro.texi: Likewise.
17607         * doc/gnulib-tool.texi: Likewise.
17608         * doc/gnulib.texi: Likewise.
17609         * doc/inet_ntoa.texi: Likewise.
17610         * doc/maintain.texi: Likewise.
17611         * doc/make-stds.texi: Likewise.
17612         * doc/quote.texi: Likewise.
17613         * doc/regexprops-generic.texi: Likewise.
17614         * doc/standards.texi: Likewise.
17615         * doc/verify.texi: Likewise.
17616         * doc/visibility.texi: Likewise.
17617         * doc/gnulib.texi (GNU Free Documentation License): Include
17618         fdl-1.3.texi instead of fdl.texi.
17619
17620 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17621
17622         * doc/fdl-1.3.texi: New file, from
17623         <http://www.gnu.org/licenses/fdl-1.3.texi>.
17624         * modules/fdl-1.3: Add.
17625         * MODULES.html.sh: Add fdl-1.3.
17626
17627 2008-11-03  Bruno Haible  <bruno@clisp.org>
17628
17629         Make determination of absolute name of header file work with AIX xlc.
17630         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
17631         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
17632         preprocessing.
17633         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17634         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
17635
17636 2008-11-03  Simon Josefsson  <simon@josefsson.org>
17637
17638         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
17639         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
17640         <ludo@gnu.org>.
17641
17642 2008-11-02  Bruno Haible  <bruno@clisp.org>
17643
17644         Mark 'strpbrk' obsolete.
17645         * modules/strpbrk (Status, Notice): New sections.
17646         * modules/strtok_r (Depends-on): Add strpbrk.
17647
17648 2008-11-02  Bruno Haible  <bruno@clisp.org>
17649
17650         Mark 'strdup' obsolete.
17651         * modules/strdup (Status, Notice): New sections.
17652         * modules/findprog (Depends-on): Add strdup.
17653         * modules/getaddrinfo (Depends-on): Likewise.
17654         * modules/localename (Depends-on): Likewise.
17655         * modules/relocatable-lib (Depends-on): Likewise.
17656         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
17657         * modules/relocatable-prog (Depends-on): Likewise.
17658         * modules/trim (Depends-on): Likewise.
17659         * modules/unictype/gen-ctype (Depends-on): Likewise.
17660         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
17661
17662 2008-11-02  Bruno Haible  <bruno@clisp.org>
17663
17664         Mark 'strcspn' obsolete.
17665         * modules/strcspn (Status, Notice): New sections.
17666
17667 2008-11-02  Bruno Haible  <bruno@clisp.org>
17668
17669         Mark 'rmdir' obsolete.
17670         * modules/rmdir (Status, Notice): New sections.
17671         * modules/clean-temp (Depends-on): Add rmdir.
17672         * modules/openat (Depends-on): Likewise.
17673
17674 2008-11-02  Bruno Haible  <bruno@clisp.org>
17675
17676         Mark 'raise' obsolete.
17677         * modules/raise (Status, Notice): New sections.
17678         (Include): Specify <signal.h>.
17679         * modules/stdio (Depends-on): Add raise.
17680         * modules/write (Depends-on): Likewise.
17681
17682 2008-11-02  Bruno Haible  <bruno@clisp.org>
17683
17684         Mark 'memset' obsolete.
17685         * modules/memset (Status, Notice): New sections.
17686
17687 2008-11-02  Bruno Haible  <bruno@clisp.org>
17688
17689         Mark 'memmove' obsolete.
17690         * modules/memmove (Status, Notice): New sections.
17691         * modules/argp (Depends-on): Add memmove.
17692         * modules/argz (Depends-on): Likewise.
17693         * modules/canonicalize (Depends-on): Likewise.
17694         * modules/canonicalize-lgpl (Depends-on): Likewise.
17695         * modules/fts (Depends-on): Likewise.
17696         * modules/getcwd (Depends-on): Likewise.
17697         * modules/human (Depends-on): Likewise.
17698         * modules/regex (Depends-on): Likewise.
17699         * modules/striconveh (Depends-on): Likewise.
17700         * modules/trim (Depends-on): Likewise.
17701         * modules/unistr/u8-move (Depends-on): Likewise.
17702         * modules/unistr/u16-move (Depends-on): Likewise.
17703         * modules/unistr/u32-move (Depends-on): Likewise.
17704
17705 2008-11-02  Bruno Haible  <bruno@clisp.org>
17706
17707         Mark 'memcpy' obsolete.
17708         * modules/memcpy (Status, Notice): New sections.
17709
17710 2008-11-02  Bruno Haible  <bruno@clisp.org>
17711
17712         Mark 'memcmp' obsolete.
17713         * modules/memcmp (Status, Notice): New sections.
17714         * modules/argmatch (Depends-on): Add memchr.
17715         * modules/backupfile (Depends-on): Likewise.
17716         * modules/c-strcasestr (Depends-on): Likewise.
17717         * modules/crypto/des (Depends-on): Likewise.
17718         * modules/csharpcomp (Depends-on): Likewise.
17719         * modules/fnmatch (Depends-on): Likewise.
17720         * modules/git-merge-changelog (Depends-on): Likewise.
17721         * modules/isnand (Depends-on): Likewise.
17722         * modules/isnand-nolibm (Depends-on): Likewise.
17723         * modules/isnanf (Depends-on): Likewise.
17724         * modules/isnanf-nolibm (Depends-on): Likewise.
17725         * modules/isnanl (Depends-on): Likewise.
17726         * modules/isnanl-nolibm (Depends-on): Likewise.
17727         * modules/mbchar (Depends-on): Likewise.
17728         * modules/memcoll (Depends-on): Likewise.
17729         * modules/quotearg (Depends-on): Likewise.
17730         * modules/regex (Depends-on): Likewise.
17731         * modules/relocatable-prog (Depends-on): Likewise.
17732         * modules/same (Depends-on): Likewise.
17733         * modules/signbit (Depends-on): Likewise.
17734         * modules/strcasestr-simple (Depends-on): Likewise.
17735         * modules/unictype/gen-ctype (Depends-on): Likewise.
17736         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
17737         * modules/uniname/uniname (Depends-on): Likewise.
17738         * modules/unistr/u8-cmp (Depends-on): Likewise.
17739
17740 2008-11-02  Bruno Haible  <bruno@clisp.org>
17741
17742         Mark 'memchr' obsolete.
17743         * modules/memchr (Status, Notice): New sections.
17744         * modules/argp (Depends-on): Add memchr.
17745         * modules/base64 (Depends-on): Likewise.
17746         * modules/c-strcasestr (Depends-on): Likewise.
17747         * modules/chdir-long (Depends-on): Likewise.
17748         * modules/fnmatch (Depends-on): Likewise.
17749         * modules/getsubopt (Depends-on): Likewise.
17750         * modules/git-merge-changelog (Depends-on): Likewise.
17751         * modules/glob (Depends-on): Likewise.
17752         * modules/strcasestr-simple (Depends-on): Likewise.
17753         * modules/strnlen (Depends-on): Likewise.
17754
17755 2008-11-02  Bruno Haible  <bruno@clisp.org>
17756
17757         Mark 'atexit' obsolete.
17758         * modules/atexit (Status, Notice): New sections.
17759         * modules/chdir-long (Depends-on): Add atexit.
17760         * modules/wait-process (Depends-on): Likewise.
17761
17762 2008-11-02  Bruno Haible  <bruno@clisp.org>
17763
17764         * gnulib-tool: New option --with-obsolete.
17765         (func_usage): Document it.
17766         (func_modules_transitive_closure): Drop obsolete dependencies if
17767         incobsolete is not true.
17768         (func_import): Read and save the incobsolete variable to the cache.
17769
17770 2008-11-02  Bruno Haible  <bruno@clisp.org>
17771
17772         * modules/TEMPLATE-EXTENDED: New field 'Status'.
17773         * gnulib-tool: New option --extract-status.
17774         (func_usage): Document it.
17775         (sed_extract_prog): Recognize it.
17776         (func_get_status): New function.
17777
17778 2008-10-30  Simon Josefsson  <simon@josefsson.org>
17779
17780         * modules/sockets (License): Change from LGPL to LGPLv2+.
17781
17782 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17783
17784         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
17785
17786 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17787
17788         * MODULES.html.sh (Support for systems lacking POSIX:2001):
17789         Mention times and sys_times.
17790         * modules/sys_times, modules/sys_times-tests: New modules.
17791         * modules/times, modules/times-tests: Likewise
17792         * m4/sys_times_h.m4: New file.
17793         * lib/sys_times.in.h: Likewise
17794         * lib/times.c: Likewise.
17795         * tests/test-sys_times.c: Likewise.
17796         * tests/test-times.c: Likewise.
17797         * doc/posix-headers/sys_times.texi: Update.
17798         * doc/posix-functions/times.texi: Update.
17799
17800 2008-10-28  Jim Meyering  <meyering@redhat.com>
17801
17802         * modules/tempname (Depends-on): Add lstat.
17803
17804         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
17805
17806 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17807
17808         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
17809         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
17810         using idiom used elsewhere in gnulib.
17811
17812 2008-10-27  Jim Meyering  <meyering@redhat.com>
17813
17814         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
17815
17816 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17817
17818         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
17819         TESTS_ENVIRONMENT, for shell scripts that needs to call built
17820         programs.
17821         * tests/test-argp-2.sh: Use $EXEEXT when needed.
17822
17823 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17824
17825         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
17826
17827 2008-10-27  Bruno Haible  <bruno@clisp.org>
17828
17829         * tests/test-lstat.c: Include <stdio.h>.
17830
17831 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17832
17833         * modules/lstat-tests: New module.
17834         * tests/test-lstat.c: New file.
17835
17836 2008-10-26  Jim Meyering  <meyering@redhat.com>
17837
17838         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
17839
17840 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17841             Bruno Haible  <bruno@clisp.org>
17842
17843         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
17844         * modules/configmake (Include): Add a note that the include must come
17845         after all system headers.
17846         * lib/javaversion.c: Include configmake.h after all other includes.
17847
17848 2008-10-26  Bruno Haible  <bruno@clisp.org>
17849
17850         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
17851         HAVE_STRUCT_RANDOM_DATA to 1.
17852         (gl_STDLIB_H): Simplify.
17853
17854 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17855
17856         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
17857         substitute HAVE_STRUCT_RANDOM_DATA.
17858         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
17859         random_data.
17860         * modules/stdlib (Makefile.am): Substitute
17861         HAVE_STRUCT_RANDOM_DATA.
17862
17863 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17864
17865         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
17866         * doc/gnulib-intro.texi (Copyright): Likewise.
17867
17868 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17869
17870         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
17871         findings.
17872
17873 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
17874             Bruno Haible  <bruno@clisp.org>
17875
17876         * lib/unistd.in.h: Include <winsock2.h>.
17877         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
17878         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
17879         Provide dummy declarations.
17880         (gethostname): Override.
17881         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
17882         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
17883         gl_PREREQ_SYS_H_WINSOCK2.
17884         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
17885         * doc/posix-functions/gethostname.texi: More details.
17886
17887 2008-10-25  Bruno Haible  <bruno@clisp.org>
17888
17889         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
17890         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
17891         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
17892
17893         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
17894         here ...
17895         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
17896         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
17897         gl_UNISTD_H_DEFAULTS.
17898
17899 2008-10-25  Eric Blake  <ebb9@byu.net>
17900
17901         signbit: avoid spurious compiler failure
17902         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
17903         declarations inside function.
17904
17905 2008-10-24  Simon Josefsson  <simon@josefsson.org>
17906             Bruno Haible  <bruno@clisp.org>
17907
17908         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
17909         * modules/random_r (Depends-on): Add stdint.
17910
17911 2008-10-24  Bruno Haible  <bruno@clisp.org>
17912
17913         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
17914         Eggert.
17915         * modules/strerror (License): Likewise.
17916
17917 2008-10-24  Jim Meyering  <meyering@redhat.com>
17918
17919         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
17920         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
17921
17922 2008-10-24  Eric Blake  <ebb9@byu.net>
17923
17924         getgroups: fix compilation when getgroups is available
17925         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
17926         but with <config.h> override of getgroups disabled.
17927
17928 2008-10-24  Simon Josefsson  <simon@josefsson.org>
17929
17930         * doc/gnulib.texi (Header files): Add note about C++ problems.
17931         Explained by Bruno Haible <bruno@clisp.org>.
17932
17933 2008-10-23  Bruno Haible  <bruno@clisp.org>
17934
17935         Define a dummy SA_NODEFER macro on Interix.
17936         * lib/signal.in.h (SA_NODEFER): Define fallback.
17937         Reported by Aleksey Cheusov <cheusov@tut.by> via
17938         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
17939
17940 2008-10-23  Bruno Haible  <bruno@clisp.org>
17941
17942         * modules/freadahead (License): Change to LGPLv2+.
17943         Suggested by Simon Josefsson.
17944
17945 2008-10-23  Jim Meyering  <meyering@redhat.com>
17946
17947         random_r: new module
17948         * modules/random_r: New file.
17949         * m4/random_r.m4: New file.
17950         * lib/random_r.c: New file, from glibc.
17951         * modules/random_r-tests: New file.
17952         * tests/test-random_r.c: New file.
17953         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
17954          Declare.
17955         (RAND_MAX): Define.
17956         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
17957         * modules/stdlib: Substitute them, too.
17958         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
17959         * doc/glibc-functions/initstate_r.texi: Mention the new module.
17960         * doc/glibc-functions/random_r.texi: Likewise.
17961         * doc/glibc-functions/setstate_r.texi: Likewise.
17962         * doc/glibc-functions/srandom_r.texi: Likewise.
17963         * config/srclist.txt: Mention it.
17964
17965 2008-10-23  David Lutterkort  <lutter@redhat.com>
17966
17967         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
17968         link requirement
17969
17970 2008-10-23  Jim Meyering  <meyering@redhat.com>
17971
17972         selinux-h: mark parameters of stub functions as intentionally unused
17973         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
17974         * lib/se-context.in.h: Likewise.
17975
17976 2008-10-22  Simon Josefsson  <simon@josefsson.org>
17977
17978         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
17979
17980 2008-10-22  Simon Josefsson  <simon@josefsson.org>
17981
17982         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
17983
17984 2008-10-22  Eric Blake  <ebb9@byu.net>
17985
17986         glthread/thread: avoid compiler warning
17987         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
17988         Add unreachable abort to silence compiler.
17989
17990 2008-10-22  Eric Blake  <ebb9@byu.net>
17991
17992         netdb: also supply struct addrinfo for cygwin 1.5.x
17993         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
17994         older cygwin.
17995         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
17996         cygwin.
17997         * doc/posix-headers/netdb.texi (netdb.h): Document this.
17998
17999 2008-10-22  Bruno Haible  <bruno@clisp.org>
18000
18001         * users.txt: Update entry about pspp.
18002
18003 2008-10-21  Bruno Haible  <bruno@clisp.org>
18004
18005         Simplification.
18006         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
18007         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
18008
18009         Simplification.
18010         * lib/ioctl.c (ioctl): Don't undefine.
18011         * lib/socket.c (socket): Don't undefine.
18012
18013         Remove unused module indicator macros.
18014         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
18015         GNULIB_$1 as a C macro.
18016
18017         * doc/posix-functions/close.texi: Undo last change.
18018         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
18019         Windows platforms.
18020
18021 2008-10-21  Bruno Haible  <bruno@clisp.org>
18022
18023         Add gethostname() declaration to <unistd.h>.
18024         * lib/unistd.in.h (gethostname): New declaration.
18025         * lib/gethostname.c: Include <unistd.h>.
18026         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
18027         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
18028         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
18029         and HAVE_GETHOSTNAME.
18030         * modules/gethostname (Depends-on): Add unistd.
18031         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18032         (Include): Specify <unistd.h>.
18033         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
18034         HAVE_GETHOSTNAME.
18035         * tests/test-gethostname.c: Include <unistd.h> first.
18036
18037 2008-10-21  Bruno Haible  <bruno@clisp.org>
18038
18039         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
18040         * modules/select-tests (Depends-on): Likewise.
18041         Reported by Simon Josefsson.
18042
18043 2008-10-21  Simon Josefsson  <simon@josefsson.org>
18044
18045         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
18046         * lib/accept.c: New file, based on winsock.c.
18047         * lib/bind.c: New file, based on winsock.c.
18048         * lib/connect.c: New file, based on winsock.c.
18049         * lib/getpeername.c: New file, based on winsock.c.
18050         * lib/getsockname.c: New file, based on winsock.c.
18051         * lib/getsockopt.c: New file, based on winsock.c.
18052         * lib/ioctl.c: New file, based on winsock.c.
18053         * lib/listen.c: New file, based on winsock.c.
18054         * lib/recv.c: New file, based on winsock.c.
18055         * lib/recvfrom.c: New file, based on winsock.c.
18056         * lib/send.c: New file, based on winsock.c.
18057         * lib/sendto.c: New file, based on winsock.c.
18058         * lib/setsockopt.c: New file, based on winsock.c.
18059         * lib/shutdown.c: New file, based on winsock.c.
18060         * lib/socket.c: New file, based on winsock.c.
18061         * lib/w32sock.h: New file, based on winsock.c.
18062         * lib/winsock.c: Remove file.
18063         * modules/accept: Likewise.
18064         * modules/bind: Likewise.
18065         * modules/connect: Likewise.
18066         * modules/getpeername: Likewise.
18067         * modules/getsockname: Likewise.
18068         * modules/getsockopt: Likewise.
18069         * modules/ioctl: Likewise.
18070         * modules/listen: Likewise.
18071         * modules/recv: Likewise.
18072         * modules/recvfrom: Likewise.
18073         * modules/send: Likewise.
18074         * modules/sendto: Likewise.
18075         * modules/setsockopt: Likewise.
18076         * modules/shutdown: Likewise.
18077         * modules/socket: Use socket.c instead of winsock.c.
18078         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
18079         * doc/posix-functions/accept.texi: Doc fix.
18080         * doc/posix-functions/bind.texi: Doc fix.
18081         * doc/posix-functions/close.texi: Doc fix.
18082         * doc/posix-functions/connect.texi: Doc fix.
18083         * doc/posix-functions/getpeername.texi: Doc fix.
18084         * doc/posix-functions/getsockname.texi: Doc fix.
18085         * doc/posix-functions/getsockopt.texi: Doc fix.
18086         * doc/posix-functions/ioctl.texi: Doc fix.
18087         * doc/posix-functions/listen.texi: Doc fix.
18088         * doc/posix-functions/recv.texi: Doc fix.
18089         * doc/posix-functions/recvfrom.texi: Doc fix.
18090         * doc/posix-functions/send.texi: Doc fix.
18091         * doc/posix-functions/sendto.texi: Doc fix.
18092         * doc/posix-functions/setsockopt.texi: Doc fix.
18093         * doc/posix-functions/shutdown.texi: Doc fix.
18094         * doc/posix-functions/socket.texi: Doc fix.
18095
18096 2008-10-20  Bruno Haible  <bruno@clisp.org>
18097
18098         Take into account the role of SIGABRT_COMPAT on Windows 2008.
18099         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
18100         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
18101         as an alias for SIGABRT.
18102         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
18103         (sigaction): Map it to SIGABRT.
18104         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
18105
18106 2008-10-20  Bruno Haible  <bruno@clisp.org>
18107
18108         * lib/fts.c: Don't include lstat.h.
18109         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
18110
18111         Move the lstat() declaration to <sys/stat.h>.
18112         * lib/lstat.h: Remove file.
18113         * lib/sys_stat.in.h: Add special invocation convention.
18114         (lstat): New declaration.
18115         * lib/lstat.c (orig_lstat): New function.
18116         (rpl_lstat): Use orig_lstat instead of lstat.
18117         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
18118         AC_C_INLINE. Set REPLACE_LSTAT.
18119         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
18120         and REPLACE_LSTAT.
18121         * modules/lstat (Files): Remove lib/lstat.h.
18122         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
18123         (Include): Specify <sys/stat.h> instead of lstat.h.
18124         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
18125         REPLACE_LSTAT.
18126         * NEWS: Mention the change.
18127
18128 2008-10-20  Bruno Haible  <bruno@clisp.org>
18129
18130         * modules/posix_spawn-tests: New file.
18131         * tests/test-posix_spawn3.c: New file.
18132
18133 2008-10-20  Bruno Haible  <bruno@clisp.org>
18134
18135         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
18136         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
18137         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
18138         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
18139         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
18140
18141 2008-10-20  Bruno Haible  <bruno@clisp.org>
18142
18143         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
18144         of posix_spawn on AIX 5.3.
18145
18146 2008-10-20  Bruno Haible  <bruno@clisp.org>
18147
18148         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
18149
18150 2008-10-20  Bruno Haible  <bruno@clisp.org>
18151
18152         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
18153         of AC_LANG_PROGRAM.
18154
18155 2008-10-20  Simon Josefsson  <simon@josefsson.org>
18156
18157         * lib/netdb.in.h: Don't define GNU specific constants until they
18158         are supported or needed.  Reported by Bruno Haible
18159         <bruno@clisp.org>.
18160
18161 2008-10-20  Simon Josefsson  <simon@josefsson.org>
18162
18163         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
18164
18165 2008-10-20  Simon Josefsson  <simon@josefsson.org>
18166
18167         * lib/getaddrinfo.h: Remove file.
18168         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
18169         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
18170         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
18171         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
18172         * modules/netdb: Substitute GNULIB_GETADDRINFO.
18173         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
18174         * tests/test-getaddrinfo.c: Likewise.
18175         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
18176         * NEWS: Mention change.
18177
18178 2008-10-19  Bruno Haible  <bruno@clisp.org>
18179
18180         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
18181
18182 2008-10-19  Bruno Haible  <bruno@clisp.org>
18183
18184         * lib/wait-process.c: Include simply <sys/wait.h>.
18185         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
18186         WIFSTOPPED): Remove fallback definitions.
18187         * modules/wait-process (Depends-on): Add sys_wait.
18188
18189         New module 'sys_wait'.
18190         * modules/sys_wait: New file.
18191         * lib/sys_wait.in.h: New file, partially copied from
18192         lib/wait-process.c.
18193         * m4/sys_wait_h.m4: New file.
18194         * doc/posix-headers/sys_wait.texi: Mention the new module.
18195
18196 2008-10-19  Bruno Haible  <bruno@clisp.org>
18197
18198         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
18199
18200 2008-10-19  Bruno Haible  <bruno@clisp.org>
18201
18202         Assume that waitpid() fills an 'int' status, not a 'union wait'.
18203         * lib/wait-process.c (WAIT_T): Remove type.
18204         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
18205         (wait_subprocess): Update.
18206
18207 2008-10-19  Bruno Haible  <bruno@clisp.org>
18208
18209         New module 'atoll'.
18210         * modules/atoll: New file.
18211         * lib/stdlib.in.h (atoll): New declaration.
18212         * lib/atoll.c: New file, from glibc with modifications.
18213         * m4/atoll.m4: New file.
18214         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
18215         HAVE_ATOLL.
18216         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
18217         * doc/posix-functions/atoll.texi: Mention the new module.
18218
18219 2008-10-19  Bruno Haible  <bruno@clisp.org>
18220
18221         Add strtoull() declaration to <stdlib.h>.
18222         * lib/stdlib.in.h (strtoull): New declaration.
18223         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
18224         Set HAVE_STRTOULL.
18225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
18226         HAVE_STRTOULL.
18227         * modules/strtoull (Depends-on): Add stdlib.
18228         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18229         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
18230         HAVE_STRTOULL.
18231
18232 2008-10-19  Bruno Haible  <bruno@clisp.org>
18233
18234         Add strtoll() declaration to <stdlib.h>.
18235         * lib/stdlib.in.h (strtoll): New declaration.
18236         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
18237         Set HAVE_STRTOLL.
18238         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
18239         HAVE_STRTOLL.
18240         * modules/strtoll (Depends-on): Add stdlib.
18241         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18242         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
18243
18244 2008-10-19  Bruno Haible  <bruno@clisp.org>
18245
18246         * modules/bcopy (Depends-on): Add strings.
18247         (Include): Specify <strings.h>.
18248
18249 2008-10-19  Bruno Haible  <bruno@clisp.org>
18250
18251         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
18252
18253 2008-10-19  Bruno Haible  <bruno@clisp.org>
18254
18255         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
18256         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
18257         mingw.
18258
18259 2008-10-19  Bruno Haible  <bruno@clisp.org>
18260
18261         * lib/atanl.c: Don't include isnanl.h.
18262         * lib/cosl.c: Likewise.
18263         * lib/ldexpl.c: Likewise.
18264         * lib/logl.c: Likewise.
18265         * lib/sinl.c: Likewise.
18266         * lib/sqrtl.c: Likewise.
18267         * lib/tanl.c: Likewise.
18268
18269         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
18270         * lib/isnanf.h: Remove file.
18271         * lib/isnand.h: Remove file.
18272         * lib/isnanl.h: Remove file.
18273         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
18274         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
18275         macros.
18276         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
18277         HAVE_ISNANF, don't define it as a C macro.
18278         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
18279         HAVE_ISNAND, don't define it as a C macro.
18280         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
18281         HAVE_ISNANL, don't define it as a C macro.
18282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
18283         HAVE_ISNAN[FDL].
18284         * modules/isnanf (Files): Remove lib/isnanf.h.
18285         (Depends-on): Add math.
18286         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18287         (Include): Specify <math.h> instead of isnanf.h.
18288         * modules/isnand (Files): Remove lib/isnand.h.
18289         (Depends-on): Add math.
18290         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18291         (Include): Specify <math.h> instead of isnand.h.
18292         * modules/isnanl (Files): Remove lib/isnanl.h.
18293         (Depends-on): Add math.
18294         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18295         (Include): Specify <math.h> instead of isnanl.h.
18296         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
18297         HAVE_ISNAN[FDL].
18298         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
18299         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
18300         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
18301         * NEWS: Mention the change.
18302
18303 2008-10-18  Bruno Haible  <bruno@clisp.org>
18304
18305         Add getusershell(), setusershell(), endusershell() declarations to
18306         <unistd.h>.
18307         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
18308         declarations.
18309         * lib/getusershell.c: Include unistd.h.
18310         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
18311         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
18312         HAVE_GETUSERSHELL.
18313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
18314         and HAVE_GETUSERSHELL.
18315         * modules/getusershell (Depends-on): Add unistd, extensions.
18316         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18317         (Include): Specify <unistd.h>.
18318         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
18319         HAVE_GETUSERSHELL.
18320
18321 2008-10-18  Bruno Haible  <bruno@clisp.org>
18322
18323         Add a getloadavg() declaration to <stdlib.h>.
18324         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
18325         getloadavg declaration.
18326         (getloadavg): New declaration.
18327         * lib/getloadavg.c: Include <stdlib.h> first.
18328         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
18329         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
18330         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
18331         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
18332         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
18333         * modules/getloadavg (Depends-on): Add stdlib, extensions.
18334         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18335         (Include): Specify <stdlib.h>.
18336         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
18337         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
18338
18339 2008-10-18  Bruno Haible  <bruno@clisp.org>
18340
18341         * lib/dirchownmod.c: Don't include lchmod.h.
18342
18343         Move the lchmod() declaration to <sys/stat.h>.
18344         * lib/lchmod.h: Remove file.
18345         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
18346         (lchmod): New declaration, moved here from lib/lchown.h.
18347         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
18348         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
18349         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
18350         and HAVE_LCHMOD.
18351         * modules/lchmod (Files): Remove lib/lchmod.h.
18352         (Depends-on): Add sys_stat, extensions.
18353         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
18354         (Include): Specify <sys/stat.h> instead of lchmod.h.
18355         * modules/sys_stat (Depends-on): Add link-warning.
18356         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
18357         definition of GL_LINK_WARNING.
18358         * NEWS: Mention the change.
18359
18360 2008-10-18  Bruno Haible  <bruno@clisp.org>
18361
18362         * lib/fchdir.c: Don't include dirfd.h.
18363         * lib/fts.c: Likewise.
18364         * lib/getcwd.c: Likewise.
18365         * lib/glob.c: Likewise.
18366
18367         Move the dirfd() declaration to <dirent.h>.
18368         * lib/dirfd.h: Remove file.
18369         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
18370         (dirfd): New declaration.
18371         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
18372         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
18373         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
18374         HAVE_DECL_DIRFD.
18375         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
18376         HAVE_DECL_DIRFD.
18377         * modules/dirfd (Files): Remove lib/dirfd.h.
18378         (Depends-on): Add dirent, extensions.
18379         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
18380         (Include): Specify <dirent.h> instead of dirfd.h.
18381         * modules/dirent (Depends-on): Add link-warning.
18382         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
18383         definition of GL_LINK_WARNING.
18384         * NEWS: Mention the change.
18385
18386 2008-10-18  Bruno Haible  <bruno@clisp.org>
18387
18388         Move the euidaccess() declaration to <unistd.h>.
18389         * lib/euidaccess.h: Remove file.
18390         * lib/unistd.in.h (euidaccess): New declaration.
18391         * lib/euidaccess.c: Don't include euidaccess.h.
18392         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
18393         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
18394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
18395         and HAVE_EUIDACCESS.
18396         * modules/euidaccess (Files): Remove lib/euidaccess.h.
18397         (Depends-on): Add unistd.
18398         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18399         (Include): Specify <unistd.h> instead of euidaccess.h.
18400         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
18401         HAVE_EUIDACCESS.
18402         * NEWS: Mention the change.
18403
18404 2008-10-18  Bruno Haible  <bruno@clisp.org>
18405
18406         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
18407
18408         Move the getdomainname() declaration to <unistd.h>.
18409         * lib/getdomainname.h: Remove file.
18410         * lib/unistd.in.h (getdomainname): New declaration.
18411         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
18412         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
18413         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
18414         HAVE_GETDOMAINNAME.
18415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18416         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
18417         * modules/getdomainname (Files): Remove lib/getdomainname.h.
18418         (Depends-on): Add unistd, extensions.
18419         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18420         (Includes): Specify <unistd.h> instead of getdomainname.h.
18421         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
18422         HAVE_GETDOMAINNAME.
18423         * NEWS: Mention the change.
18424
18425 2008-10-18  Bruno Haible  <bruno@clisp.org>
18426
18427         * modules/dirent: New file.
18428         * m4/dirent_h.m4: New file.
18429         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
18430         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
18431         * modules/fchdir (Files): Remove lib/dirent.in.h.
18432         (Depends-on): Add dirent.
18433         (Makefile.am): Move rules to modules/dirent.
18434         * doc/posix-headers/dirent.texi: Mention the new module.
18435
18436 2008-10-18  Bruno Haible  <bruno@clisp.org>
18437
18438         Avoid -Wunused-parameter warnings in public gnulib header files.
18439         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
18440         macro.
18441         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
18442
18443 2008-10-18  Bruno Haible  <bruno@clisp.org>
18444
18445         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
18446         * doc/glibc-functions/error.texi: Mention the module 'error'.
18447         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
18448         * doc/glibc-functions/getdomainname.texi: Mention the module
18449         'getdomainname'.
18450         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
18451         * doc/glibc-functions/getpagesize.texi: Mention the module
18452         'getpagesize'.
18453         * doc/glibc-functions/getusershell.texi: Mention the module
18454         'getusershell'.
18455         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
18456         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
18457         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
18458         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
18459         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
18460         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
18461         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
18462         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
18463         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
18464         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
18465         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
18466         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
18467         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
18468         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
18469
18470 2008-10-17  Bruno Haible  <bruno@clisp.org>
18471
18472         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
18473         HP-UX and IRIX, use -0.0L.
18474         * tests/test-ceill.c (minus_zero): Likewise.
18475         * tests/test-floorl.c (minus_zero): Likewise.
18476         * tests/test-frexpl.c (minus_zero): Likewise.
18477         * tests/test-isnan.c (minus_zerol): Likewise.
18478         * tests/test-isnanl.h (minus_zero): Likewise.
18479         * tests/test-ldexpl.c (minus_zero): Likewise.
18480         * tests/test-roundl.c (minus_zero): Likewise.
18481         * tests/test-signbit.c (minus_zerol): Likewise.
18482         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18483         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18484         * tests/test-truncl.c (minus_zero): Likewise.
18485         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18486         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18487         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
18488         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18489
18490 2008-10-17  Bruno Haible  <bruno@clisp.org>
18491
18492         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
18493         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
18494         that it gets activated only for gcc >= 3.0.
18495         * lib/dirent.in.h: Likewise.
18496         * lib/errno.in.h: Likewise.
18497         * lib/fcntl.in.h: Likewise.
18498         * lib/float.in.h: Likewise.
18499         * lib/iconv.in.h: Likewise.
18500         * lib/inttypes.in.h: Likewise.
18501         * lib/locale.in.h: Likewise.
18502         * lib/math.in.h: Likewise.
18503         * lib/netdb.in.h: Likewise.
18504         * lib/netinet_in.in.h: Likewise.
18505         * lib/search.in.h: Likewise.
18506         * lib/signal.in.h: Likewise.
18507         * lib/spawn.in.h: Likewise.
18508         * lib/stdarg.in.h: Likewise.
18509         * lib/stdint.in.h: Likewise.
18510         * lib/stdio.in.h: Likewise.
18511         * lib/stdlib.in.h: Likewise.
18512         * lib/string.in.h: Likewise.
18513         * lib/strings.in.h: Likewise.
18514         * lib/sys_file.in.h: Likewise.
18515         * lib/sys_ioctl.in.h: Likewise.
18516         * lib/sys_select.in.h: Likewise.
18517         * lib/sys_socket.in.h: Likewise.
18518         * lib/sys_stat.in.h: Likewise.
18519         * lib/sys_time.in.h: Likewise.
18520         * lib/sysexits.in.h: Likewise.
18521         * lib/time.in.h: Likewise.
18522         * lib/unistd.in.h: Likewise.
18523         * lib/wchar.in.h: Likewise.
18524         * lib/wctype.in.h: Likewise.
18525         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18526
18527 2008-10-17  Jim Meyering  <meyering@redhat.com>
18528
18529         ignore-value: don't depend on inline module
18530         * modules/ignore-value (Depends-on): Remove 'inline'.
18531         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
18532         Suggestion from Bruno Haible.
18533
18534 2008-10-17  Bruno Haible  <bruno@clisp.org>
18535
18536         New implementation of condition variables for Win32.
18537         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
18538         (gl_linked_waitqueue_t): New type.
18539         (gl_cond_t): Use it.
18540         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
18541         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
18542         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
18543         (glthread_cond_init_func, glthread_cond_wait_func,
18544         glthread_cond_timedwait_func, glthread_cond_signal_func,
18545         glthread_cond_broadcast_func, glthread_cond_destroy_func):
18546         Reimplemented on the basis of gl_linked_waitqueue_t.
18547         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
18548         gl_waitqueue_t.
18549         (gl_rwlock_t): Update.
18550         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
18551
18552 2008-10-17  Simon Josefsson  <simon@josefsson.org>
18553
18554         * modules/recvfrom (Depends-on): Add dependency on getpeername.
18555         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18556
18557 2008-10-17  Jim Meyering  <meyering@redhat.com>
18558
18559         ignore-value: new module
18560         * modules/ignore-value: New file.
18561         * lib/ignore-value.h: New file.
18562         * MODULES.html.sh (Compiler warning management): New section,
18563         just for this module.  More to come.
18564
18565 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
18566
18567         open-safer.c: avoid 'signed and unsigned in conditional...' warning
18568         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
18569         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
18570
18571 2008-10-16  Jim Meyering  <meyering@redhat.com>
18572
18573         openat-die.c: avoid 'no previous prototype' warning
18574         * lib/openat-die.c: Include "openat.h".
18575         Reported by Reuben Thomas <rrt@sc3d.org>.
18576
18577 2008-10-16  Simon Josefsson  <simon@josefsson.org>
18578
18579         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
18580         * lib/netdb.in.h: Fix typo.
18581         Reported by Bruno Haible  <bruno@clisp.org>
18582
18583         * lib/netdb.in.h: Include sys/socket.h for platforms without
18584         netdb.h, to get structures like hostent on MinGW.
18585         * modules/netdb (Depends-on): Add sys_socket.
18586
18587 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18588
18589         * modules/netdb, modules/netdb-tests: New file.
18590         * m4/netdb_h.m4: New file.
18591         * lib/netdb.in.h: Add, currently just an empty file pending
18592         definitions.
18593         * tests/test-netdb.c: New file.
18594         * doc/posix-headers/netdb.texi: Mention that we replace it if
18595         needed.
18596         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18597         netdb.
18598
18599 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18600
18601         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
18602         with code.
18603
18604 2008-10-13  Bruno Haible  <bruno@clisp.org>
18605
18606         * lib/glthread/cond.c (glthread_cond_wait_func,
18607         glthread_cond_timedwait_func): Add a comment.
18608
18609 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18610
18611         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
18612         * tests/test-select.c: Likewise,
18613
18614 2008-10-13  Bruno Haible  <bruno@clisp.org>
18615
18616         * lib/glthread/cond.c (glthread_cond_wait_func,
18617         glthread_cond_timedwait_func): Fix variable name.
18618         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18619
18620 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
18621
18622         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
18623         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
18624         struct sockaddr.sa_len.
18625         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
18626
18627 2008-10-13  Simon Josefsson  <simon@josefsson.org>
18628
18629         * build-aux/pmccabe2html: Add css and css_url parameters.
18630
18631 2008-10-12  Bruno Haible  <bruno@clisp.org>
18632
18633         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
18634         calling aclx_get.
18635         Reported by Rainer Tammer <tammer@tammer.net>.
18636
18637 2008-10-12  Bruno Haible  <bruno@clisp.org>
18638
18639         Use msvcrt aware primitives for creation/termination of Win32 threads.
18640         * lib/glthread/thread.c: Include <process.h>.
18641         (glthread_create_func): Use _beginthreadex instead of CreateThread.
18642         (wrapper_func): Update signature.
18643         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
18644
18645 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18646             Bruno Haible  <bruno@clisp.org>
18647
18648         Provide a Win32 implementation of the 'cond' module.
18649         * lib/glthread/cond.h [USE_WIN32]: New implementation.
18650         * lib/glthread/cond.c (glthread_cond_init_func,
18651         glthread_cond_wait_func, glthread_cond_timedwait_func,
18652         glthread_cond_signal_func, glthread_cond_broadcast_func,
18653         glthread_cond_destroy_func) [USE_WIN32]: New functions.
18654         * modules/cond (Dependencies): Add gettimeofday.
18655
18656 2008-10-11  Bruno Haible  <bruno@clisp.org>
18657
18658         Make sleep work on older versions of mingw.
18659         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
18660         only whether it exists.
18661         * doc/posix-functions/sleep.texi: Mention the problem with older
18662         versions of mingw.
18663
18664 2008-10-11  Bruno Haible  <bruno@clisp.org>
18665
18666         New module 'shutdown'.
18667         * modules/shutdown: New file.
18668         * lib/sys_socket.in.h (shutdown): New declaration.
18669         * lib/winsock.c (shutdown): New function.
18670         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
18671         GNULIB_SHUTDOWN.
18672         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
18673         * doc/posix-functions/shutdown.texi: Document the new module.
18674
18675 2008-10-11  Jim Meyering  <meyering@redhat.com>
18676
18677         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
18678
18679 2008-10-11  Bruno Haible  <bruno@clisp.org>
18680
18681         New module 'fclose'.
18682         * modules/fclose: New file.
18683         * lib/stdio.in.h (fclose): New declaration.
18684         * lib/fclose.c: New file.
18685         * m4/fclose.m4: New file.
18686         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
18687         REPLACE_FCLOSE.
18688         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
18689         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
18690         REPLACE_FCLOSE.
18691         * modules/close (Depends-on): fclose.
18692         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
18693
18694 2008-10-11  Bruno Haible  <bruno@clisp.org>
18695
18696         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
18697         set errno and don't call _close.
18698
18699 2008-10-10  Bruno Haible  <bruno@clisp.org>
18700
18701         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
18702         ACL, not afterwards. Fixes test failure on Cygwin.
18703
18704 2008-10-09  Ben Pfaff  <blp@gnu.org>
18705
18706         * build-aux/announce-gen: Fix gnulib version related part of usage
18707         message.  Die with a useful error message if no tarballs are
18708         found.
18709
18710 2008-10-10  Jim Meyering  <meyering@redhat.com>
18711
18712         bootstrap: use git's --depth=N option only if it's supported
18713         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
18714         recognize the --depth option.  Reported by Pádraig Brady.
18715
18716 2008-10-09  Bruno Haible  <bruno@clisp.org>
18717
18718         New module 'ioctl'.
18719         * modules/ioctl: New file.
18720         * lib/sys_socket.in.h (ioctl): Remove declaration.
18721         * lib/winsock.c: Include <sys/ioctl.h>.
18722         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
18723         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
18724         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
18725         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
18726         * doc/posix-functions/ioctl.texi: Mention the new module.
18727
18728 2008-10-09  Bruno Haible  <bruno@clisp.org>
18729
18730         New module 'sys_ioctl'.
18731         * lib/sys_ioctl.in.h: New file.
18732         * m4/sys_ioctl_h.m4: New file.
18733         * modules/sys_ioctl: New file.
18734         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
18735
18736 2008-10-09  Bruno Haible  <bruno@clisp.org>
18737
18738         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
18739         * lib/winsock.c: Include <stdarg.h>.
18740         (rpl_ioctl): Change to second argument 'int' and then varargs.
18741
18742 2008-10-09  Bruno Haible  <bruno@clisp.org>
18743
18744         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
18745         when the sys_socket module is present and the system has <winsock2.h>.
18746
18747 2008-10-09  Bruno Haible  <bruno@clisp.org>
18748
18749         * doc/posix-functions/close.texi: Mention module 'close' instead of
18750         module 'sys_socket'.
18751
18752 2008-10-09  Bruno Haible  <bruno@clisp.org>
18753
18754         * doc/glibc-headers/sys_ioctl.texi: New file.
18755         * doc/gnulib.texi: Include it.
18756
18757 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18758             Bruno Haible  <bruno@clisp.org>
18759
18760         Combine the two replacements of 'close'.
18761         * lib/sys_socket.in.h (close): Define to a reminder to include
18762         <unistd.h>.
18763         (_gl_close_fd_maybe_socket): New declaration.
18764         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
18765         * lib/winsock.c (close): Remove undefinition.
18766         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
18767         needed for the gnulib module 'close'.
18768         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
18769         define to an error symbol or to a warning, if suitable.
18770         * lib/close.c: Include <sys/socket.h>.
18771         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
18772         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
18773         UNISTD_H_HAVE_WINSOCK2_H.
18774         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
18775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18776         UNISTD_H_HAVE_WINSOCK2_H.
18777         * modules/sys_socket (Files): Add m4/unistd_h.m4.
18778         (configure.ac): Set a module indicator.
18779         (Makefile.am): Substitute GNULIB_CLOSE.
18780         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
18781         * modules/poll-tests (Depends-on): Add close.
18782         * modules/select-tests (Depends-on): Likewise.
18783
18784 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18785             Bruno Haible  <bruno@clisp.org>
18786
18787         New module 'close'.
18788         * modules/close: New file.
18789         * lib/unistd.in.h (close): Move declaration out of the
18790         FCHDIR_REPLACEMENT scope.
18791         (_gl_unregister_fd): New declaration.
18792         * lib/close.c: New file.
18793         * lib/fchdir.c (rpl_close): Remove function.
18794         * m4/close.m4: New file.
18795         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
18796         close.
18797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
18798         REPLACE_CLOSE.
18799         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
18800         REPLACE_CLOSE.
18801         * modules/fchdir (Depends-on): Add close.
18802
18803 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18804             Bruno Haible  <bruno@clisp.org>
18805
18806         * lib/fcntl.in.h (open): Simplify conditionals.
18807         (_gl_register_fd): New declaration.
18808         * lib/fchdir.c (rpl_open): Remove function.
18809         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
18810         also.
18811         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
18812         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
18813         open.
18814
18815 2008-10-09  Jim Meyering  <meyering@redhat.com>
18816
18817         GNUmakefile: use the more name-space-friendly "_version"
18818         * top/GNUmakefile (_dummy): Update.
18819         (_version): Rename from "version".
18820
18821 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18822             Bruno Haible  <bruno@clisp.org>
18823
18824         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
18825         rpl_close.
18826         (_gl_register_fd): New function, extracted from rpl_open.
18827         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
18828         (rpl_open, rpl_opendir): Use _gl_register_fd.
18829
18830 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18831
18832         Fix organization of 'open' replacement.
18833         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
18834         (gl_FUNC_OPEN): Use it.
18835         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
18836
18837 2008-10-08  Bruno Haible  <bruno@clisp.org>
18838
18839         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
18840
18841 2008-10-08  Simon Josefsson  <simon@josefsson.org>
18842
18843         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
18844         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
18845         listen).
18846
18847 2008-10-08  Eric Blake  <ebb9@byu.net>
18848
18849         GNUmakefile: add 'make version' target
18850         * top/GNUmakefile (_curr-ver): Split version update rules...
18851         (version): ...into a target.
18852
18853 2008-10-07  Bruno Haible  <bruno@clisp.org>
18854
18855         Use a more portable replacement expression for -0.0L.
18856         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
18857         instead of -0.0L. Fix m4 quotation.
18858
18859         * tests/test-signbit.c: Include <float.h>.
18860         (minus_zero): New variable.
18861         (test_signbitl): Use minus_zero instead of -zero.
18862         * modules/signbit-tests (Depends-on): Add float.
18863
18864         * tests/test-ceill.c: Include <float.h>.
18865         (zero): Remove variable.
18866         (minus_zero): New variable.
18867         (main): Use minus_zero instead of -zero.
18868         * modules/ceill-tests (Depends-on): Add float.
18869
18870         * tests/test-floorl.c: Include <float.h>.
18871         (zero): Remove variable.
18872         (minus_zero): New variable.
18873         (main): Use minus_zero instead of -zero.
18874         * modules/floorl-tests (Depends-on): Add float.
18875
18876         * tests/test-roundl.c: Include <float.h>.
18877         (zero): Remove variable.
18878         (minus_zero): New variable.
18879         (main): Use minus_zero instead of -zero.
18880         * modules/roundl-tests (Depends-on): Add float.
18881
18882         * tests/test-truncl.c: Include <float.h>.
18883         (zero): Remove variable.
18884         (minus_zero): New variable.
18885         (main): Use minus_zero instead of -zero.
18886         * modules/truncl-tests (Depends-on): Add float.
18887
18888         * tests/test-frexpl.c (zero): Remove variable.
18889         (minus_zero): New variable.
18890         (main): Use minus_zero instead of -zero.
18891         * modules/frexpl-tests (Depends-on): Add float.
18892
18893         * tests/test-isnan.c (zerol): Remove variable.
18894         (minus_zerol): New variable.
18895         (test_long_double): Use minus_zerol instead of -zerol.
18896         * modules/isnan-tests (Depends-on): Add float.
18897
18898         * tests/test-isnanl.h (zero): Remove variable.
18899         (minus_zero): New variable.
18900         (main): Use minus_zero instead of -zero.
18901         * modules/isnanl-nolibm-tests (Depends-on): Add float.
18902         * modules/isnanl-tests (Depends-on): Add float.
18903
18904         * tests/test-ldexpl.c (zero): Remove variable.
18905         (minus_zero): New variable.
18906         (main): Use minus_zero instead of -zero.
18907         * modules/ldexpl-tests (Depends-on): Add float.
18908
18909         * tests/test-snprintf-posix.h (zerol): Remove variable.
18910         (minus_zerol): New variable.
18911         (test_function): Use minus_zerol instead of -zerol.
18912         * modules/snprintf-posix-tests (Depends-on): Add float.
18913         * modules/vsnprintf-posix-tests (Depends-on): Add float.
18914
18915         * tests/test-sprintf-posix.h (zerol): Remove variable.
18916         (minus_zerol): New variable.
18917         (test_function): Use minus_zerol instead of -zerol.
18918         * modules/sprintf-posix-tests (Depends-on): Add float.
18919         * modules/vsprintf-posix-tests (Depends-on): Add float.
18920
18921         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
18922         (minus_zerol): New variable.
18923         (test_function): Use minus_zerol instead of -zerol.
18924         * modules/vasnprintf-posix-tests (Depends-on): Add float.
18925
18926         * tests/test-vasprintf-posix.c (zerol): Remove variable.
18927         (minus_zerol): New variable.
18928         (test_function): Use minus_zerol instead of -zerol.
18929         * modules/vasprintf-posix-tests (Depends-on): Add float.
18930
18931 2008-10-07  Simon Josefsson  <simon@josefsson.org>
18932
18933         * MODULES.html.sh (Support for building documentation): Mention
18934         pmccabe2html.  Sort entries.
18935
18936         Add pmccabe2html module, from gnupdf.
18937         * build-aux/pmccabe.css: New file.
18938         * build-aux/pmccabe2html: New file.
18939         * m4/pmccabe2html.m4: New file.
18940         * modules/pmccabe2html: New file.
18941
18942 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
18943
18944         flock: new module
18945         * MODULES.html.sh: Add to list of modules.
18946         * lib/flock.c: flock implementation for Windows and Unix systems
18947         which have fcntl.
18948         * doc/glibc-functions/flock.texi: Update documentation.
18949         * lib/sys_file.in.h: <sys/file.h> header file.
18950         * m4/flock.m4: M4 macros.
18951         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
18952         * modules/flock: flock module.
18953         * modules/flock-tests: flock tests module.
18954         * modules/sys_file: sys/file.h module.
18955         * tests/test-flock.c: test suite for flock.
18956
18957 2008-10-06  Jim Meyering  <meyering@redhat.com>
18958
18959         bootstrap: check for LT_INIT more portably still ;-)
18960         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
18961         Spotted by Bruno Haible.
18962
18963 2008-10-06  Eric Blake  <ebb9@byu.net>
18964
18965         test-signbit: avoid tripping Irix cc bug on -0.0L
18966         * tests/test-signbit.c (minus_zerol): Delete, and replace with
18967         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
18968         entire testsuite consistent and avoids an Irix 6.2 bug.
18969
18970 2008-10-05  Bruno Haible  <bruno@clisp.org>
18971             Jim Meyering  <jim@meyering.net>
18972
18973         Add an option for ignoring EPIPE during close_stdout.
18974         * lib/closeout.h: Include <stdbool.h>.
18975         (close_stdout_set_ignore_EPIPE): New declaration.
18976         * lib/closeout.c: Include <stdbool.h>.
18977         (ignore_EPIPE): New variable.
18978         (close_stdout_set_ignore_EPIPE): New function.
18979         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
18980         * lib/close-stream.c (close_stream): Mention the possible EPIPE
18981         failure.
18982         * modules/closeout (Depends-on): Add stdbool.
18983
18984 2008-10-05  Bruno Haible  <bruno@clisp.org>
18985
18986         * modules/accept: New file.
18987         * modules/bind: New file.
18988         * modules/connect: New file.
18989         * modules/getpeername: New file.
18990         * modules/getsockname: New file.
18991         * modules/getsockopt: New file.
18992         * modules/listen: New file.
18993         * modules/recv: New file.
18994         * modules/recvfrom: New file.
18995         * modules/send: New file.
18996         * modules/sendto: New file.
18997         * modules/setsockopt: New file.
18998         * modules/socket: New file.
18999         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
19000         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
19001         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
19002         the particular module is requested. Add a link warning when the
19003         particular module is not requested.
19004         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
19005         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
19006         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
19007         the particular module is requested.
19008         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
19009         gl_SYS_SOCKET_H_DEFAULTS): New macros.
19010         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
19011         * modules/sys_socket (Depends-on): Add link-warning.
19012         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
19013         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
19014         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
19015         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
19016         GL_LINK_WARNING.
19017         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
19018         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
19019         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
19020         * doc/posix-functions/getpeername.texi: Mention the new module
19021         'getpeername'.
19022         * doc/posix-functions/getsockname.texi: Mention the new module
19023         'getsockname'.
19024         * doc/posix-functions/getsockopt.texi: Mention the new module
19025         'getsockopt'.
19026         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
19027         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
19028         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
19029         * doc/posix-functions/send.texi: Mention the new module 'send'.
19030         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
19031         * doc/posix-functions/setsockopt.texi: Mention the new module
19032         'setsockopt'.
19033         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
19034         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
19035         listen, connect, accept.
19036         * modules/select-tests (Depends-on): Likewise.
19037
19038 2008-10-05  Bruno Haible  <bruno@clisp.org>
19039
19040         * lib/winsock.c (strerror): Remove unused #undef.
19041         (rpl_close): Remove unused local variable.
19042
19043         * modules/sys_socket (Depends-on); Add errno.
19044
19045 2008-10-05  Bruno Haible  <bruno@clisp.org>
19046
19047         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
19048         (select): Add a link warning when the 'select' module is not used.
19049         * modules/sys_select (Depends-on): Add link-warning.
19050         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
19051         Suggested by Paolo Bonzini.
19052
19053 2008-10-05  Jim Meyering  <meyering@redhat.com>
19054
19055         bootstrap: check for LT_INIT more portably
19056         * build-aux/bootstrap: Avoid using grep -E, since it's not
19057         portable enough.  Suggestion from Bruno Haible.
19058
19059 2008-10-05  Bruno Haible  <bruno@clisp.org>
19060
19061         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
19062         as being fixed by gnulib.
19063
19064 2008-10-05  Bruno Haible  <bruno@clisp.org>
19065
19066         * modules/select-tests: New file, mostly copied from
19067         modules/sys_select-tests.
19068         * tests/test-select.c: New file, mostly copied from
19069         tests/test-sys_select.c.
19070         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
19071         * modules/sys_select-tests (Depends-on): Remove all dependencies.
19072         (Makefile.am): Remove test_sys_select_LDADD.
19073
19074         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
19075         to an undefined symbol, for an error message.
19076         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
19077         (gl_SYS_SELECT_H_DEFAULTS): New macro.
19078         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
19079         winsock-select.c here.
19080         * modules/sys_select (Files): Remove lib/winsock-select.c.
19081         (Depends-on): Remove alloca.
19082         (Makefile.am): Substitute GNULIB_SELECT.
19083         * modules/select: New file.
19084         * doc/posix-functions/select.texi: Update.
19085
19086 2008-10-05  Bruno Haible  <bruno@clisp.org>
19087
19088         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
19089         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
19090         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
19091         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
19092         getdtablesize.
19093         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
19094         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
19095
19096 2008-10-05  Bruno Haible  <bruno@clisp.org>
19097
19098         * modules/getdtablesize-tests: New file.
19099         * tests/test-getdtablesize.c: New file.
19100
19101         New module 'getdtablesize'.
19102         * lib/unistd.in.h (getdtablesize): New declaration.
19103         * lib/getdtablesize.c: New file.
19104         * m4/getdtablesize.m4: New file.
19105         * modules/getdtablesize: New file.
19106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19107         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
19108         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
19109         HAVE_GETDTABLESIZE.
19110         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
19111
19112 2008-10-05  Bruno Haible  <bruno@clisp.org>
19113
19114         * modules/sched (Makefile.am): Fix typo.
19115         Reported by Simon Josefsson.
19116
19117 2008-10-05  Jim Meyering  <meyering@redhat.com>
19118
19119         bootstrap: check for LT_INIT, too
19120         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
19121         are deprecated.  Suggestion from Ralf Wildenhues.
19122
19123 2008-10-05  Bruno Haible  <bruno@clisp.org>
19124
19125         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
19126         overriding them by ours.
19127         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
19128
19129 2008-10-05  Jim Meyering  <meyering@redhat.com>
19130
19131         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
19132         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
19133         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
19134
19135 2008-10-04  Bruno Haible  <bruno@clisp.org>
19136
19137         * modules/dup2 (License): Change to LGPLv2+.
19138         * modules/sleep (License): Likewise.
19139         * modules/perror (License): Likewise.
19140         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
19141         Blake.
19142         * modules/signal (License): Likewise.
19143         * modules/sigprocmask (License): Likewise.
19144         * modules/raise (License): Change to LGPLv2+, with approval by Jim
19145         Meyering.
19146
19147 2008-10-04  Bruno Haible  <bruno@clisp.org>
19148
19149         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
19150         Reported by Rainer Tammer <tammer@tammer.net>.
19151
19152 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
19153             Bruno Haible  <bruno@clisp.org>
19154
19155         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
19156         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
19157         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
19158
19159 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
19160
19161         filevercmp: new module
19162         * lib/filevercmp.h: New function filevercmp comparing version strings.
19163         * lib/filevercmp.c: Implementation of filevercmp function.
19164         * modules/filevercmp: Module metadata.
19165         * tests/test-filevercmp.c: Unit test for new module.
19166         * modules/filevercmp-tests: Unit test metadata.
19167         * MODULES.html.sh: Add filevercmp module.
19168
19169 2008-10-03  Bruno Haible  <bruno@clisp.org>
19170
19171         * lib/c-ctype.h: Add comment.
19172         Reported by Jim Meyering.
19173
19174 2008-10-02  Bruno Haible  <bruno@clisp.org>
19175
19176         * modules/posix_spawn-internal (Depends-on): Add 'open'.
19177
19178 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
19179
19180         * build-aux/bootstrap: Allow renaming bootstrap, and change the
19181         name of bootstrap.conf accordingly.
19182
19183 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
19184
19185         * build-aux/bootstrap: Install git-merge-changelog configuration
19186         items into .gitconfig if needed.
19187
19188 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
19189
19190         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
19191         git repository, and initialize/update it accordingly.
19192
19193 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
19194
19195         * modules/fsync-tests: New file.
19196         * tests/test-fsync.c: New file.
19197
19198         New module 'fsync'.
19199         * lib/fsync.c: New file.
19200         * m4/fsync.m4: New file.
19201         * modules/fsync: New file.
19202         * lib/unistd.in.h (fsync): New declaration.
19203         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
19204         GNULIB_FSYNC and HAVE_FSYNC.
19205         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
19206         * MODULES.html.sh (posix_functions): Add fsync.
19207         * doc/posix-functions/fsync.texi: Mention the new module.
19208
19209 2008-10-02  Jim Meyering  <meyering@redhat.com>
19210
19211         fts.c: sync with similar code from coreutils' remove.c
19212         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
19213         Guard also with "#if defined __linux__", since for now at least,
19214         this code is Linux-kernel-specific.
19215
19216 2008-10-02  Jim Meyering  <meyering@redhat.com>
19217
19218         fts: bug fixes
19219         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
19220         Include <sys/vfs.h>, not <sys/statfs.h>.
19221
19222         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
19223         Include <sys/vfs.h>, not <sys/statfs.h>.
19224
19225 2008-10-01  Bruno Haible  <bruno@clisp.org>
19226
19227         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
19228         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
19229         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
19230         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
19231         * doc/posix-functions/posix_spawnp.texi: Likewise.
19232         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
19233         whether posix_spawn actually works.
19234         * m4/pipe.m4 (gl_PIPE): Likewise.
19235         * modules/execute (Files): Add m4/posix_spawn.m4.
19236         * modules/pipe (Files): Add m4/posix_spawn.m4.
19237         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
19238
19239 2008-10-01  Jim Meyering  <meyering@redhat.com>
19240
19241         remove trailing spaces
19242         * NEWS: Likewise.
19243         * lib/poll.c (poll): Likewise.
19244         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
19245         * lib/winsock.c (rpl_close): Likewise.
19246         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
19247         * modules/yield: Likewise.
19248         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
19249         * tests/test-sys_select.c (connect_to_socket): Likewise.
19250
19251         fts.c: adjust a new interface to be more generally useful
19252         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
19253         (fts_build): Adjust caller.
19254
19255 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19256
19257         * modules/cond-tests: New file.
19258         * tests/test-cond.c: New file.
19259
19260 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19261             Bruno Haible  <bruno@clisp.org>
19262
19263         * modules/cond (Dependencies): Add errno, time.
19264         * lib/glthread/cond.h: Include <time.h>.
19265         (gl_cond_define, gl_cond_define_initialized): Use the same definition
19266         across platforms.
19267
19268 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19269             Bruno Haible  <bruno@clisp.org>
19270
19271         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
19272
19273 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19274             Bruno Haible  <bruno@clisp.org>
19275
19276         * modules/tls-tests (Depends-on): Add thread, yield.
19277         (configure.ac): Remove all checks.
19278         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
19279         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
19280         gl_thread_self): Remove definitions. Include glthread/thread.h and
19281         glthread/yield.h instead.
19282         (test_tls): Pass an additional NULL argument to gl_thread_join.
19283
19284 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19285             Bruno Haible  <bruno@clisp.org>
19286
19287         * modules/lock-tests (Depends-on): Add thread, yield.
19288         (configure.ac): Remove all checks.
19289         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
19290         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
19291         gl_thread_self): Remove definitions. Include glthread/thread.h and
19292         glthread/yield.h instead.
19293         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
19294         additional NULL argument to gl_thread_join.
19295
19296 2008-09-30  Bruno Haible  <bruno@clisp.org>
19297
19298         Fix the Win32 implementation of the 'thread' module.
19299         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
19300         pointer type.
19301         (gl_thread_self): Invoke gl_thread_self_func.
19302         (gl_thread_self_func): New declaration.
19303         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
19304         (do_init_self_key, init_self_key): New functions.
19305         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
19306         Remove some fields.
19307         (running_threads, running_lock): Remove variables.
19308         (get_current_thread_handle): New function.
19309         (gl_thread_self_func, wrapper_func, glthread_create_func,
19310         glthread_join_func, gl_thread_exit_func): Largely rewritten and
19311         simplified.
19312
19313 2008-09-30  Bruno Haible  <bruno@clisp.org>
19314
19315         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
19316         files.
19317
19318 2008-09-30  Jim Meyering  <meyering@redhat.com>
19319
19320         fts.m4: correct the test for statfs.f_type
19321         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
19322         when checking for statfs.f_type.
19323
19324 2008-09-15  Simon Josefsson  <simon@josefsson.org>
19325
19326         tests: avoid some compiler warnings
19327         * tests/test-memchr.c (main): Pass NULL indirectly.
19328         * tests/test-getdate.c (main): Remove unused variable 'ret'.
19329
19330 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
19331
19332         getdate.y: disallow countable dayshifts like "4 yesterday ago"
19333         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
19334         exactly specified dayshifts.
19335         (dayshift): New rule.
19336         (rel): Add dayshift.
19337         (relative_time_table) [tomorrow, yesterday, today, now]:
19338         Use tDAY_SHIFT in place of tDAY_UNIT.
19339         * tests/test-getdate.c: Add tests for now-disallowed countable
19340         dayshifts, e.g., "4 yesterday ago".
19341
19342 2008-09-29  Bruno Haible  <bruno@clisp.org>
19343
19344         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
19345         * tests/test-posix_spawn1.in.sh: Renamed from
19346         tests/test-posix_spawn.in.sh.
19347         * tests/test-posix_spawn2.c: New file.
19348         * tests/test-posix_spawn2.in.sh: New file.
19349         * modules/posix_spawnp-tests (Files): Update.
19350         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
19351
19352 2008-09-29  Bruno Haible  <bruno@clisp.org>
19353
19354         Propagate effects of putenv/setenv/unsetenv to child processes.
19355         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
19356         * lib/pipe.c (create_pipe): Likewise.
19357
19358 2008-09-29  Bruno Haible  <bruno@clisp.org>
19359
19360         Enable use of shell scripts as executables in mingw.
19361         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
19362         run the program as a shell script.
19363         * lib/pipe.c (create_pipe): Likewise.
19364         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
19365         resulting array.
19366
19367 2008-09-29  Eric Blake  <ebb9@byu.net>
19368
19369         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
19370
19371 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
19372
19373         * doc/posix-functions/accept.texi: Update mingw problems.
19374         * doc/posix-functions/bind.texi: Update mingw problems.
19375         * doc/posix-functions/close.texi: Update mingw problems.
19376         * doc/posix-functions/connect.texi: Update mingw problems.
19377         * doc/posix-functions/getpeername.texi: Update mingw problems.
19378         * doc/posix-functions/getsockname.texi: Update mingw problems.
19379         * doc/posix-functions/getsockopt.texi: Update mingw problems.
19380         * doc/posix-functions/ioctl.texi: Update mingw problems.
19381         * doc/posix-functions/listen.texi: Update mingw problems.
19382         * doc/posix-functions/recv.texi: Update mingw problems.
19383         * doc/posix-functions/recvfrom.texi: Update mingw problems.
19384         * doc/posix-functions/select.texi: Update mingw problems.
19385         * doc/posix-functions/send.texi: Update mingw problems.
19386         * doc/posix-functions/sendto.texi: Update mingw problems.
19387         * doc/posix-functions/setsockopt.texi: Update mingw problems.
19388         * doc/posix-functions/socket.texi: Update mingw problems.
19389
19390 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
19391             Bruno Haible  <bruno@clisp.org>
19392
19393         * lib/sys_select.in.h: Include sys/time.h.
19394         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
19395         * modules/sys_select: Depend on sys_time.
19396         * tests/test-sys_select.c: Test that sys/select.h defines struct
19397         timeval fully.
19398
19399 2008-09-29  Bruno Haible  <bruno@clisp.org>
19400
19401         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
19402         * lib/sys_select.in.h: Likewise.
19403
19404 2008-09-29  Bruno Haible  <bruno@clisp.org>
19405
19406         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
19407
19408 2008-09-29  Bruno Haible  <bruno@clisp.org>
19409
19410         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
19411         Set LIBSOCKET instead of augmenting LIBS.
19412         * modules/sockets (Link): New section.
19413         * modules/sockets-tests (test_sockets_LDADD): New variable.
19414         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
19415         * modules/poll-tests (test_poll_LDADD): New variable.
19416         * NEWS: Document the change.
19417
19418 2008-09-29  Bruno Haible  <bruno@clisp.org>
19419
19420         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
19421         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
19422         ARPA_INET_H directly.
19423         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19424
19425 2008-09-28  Bruno Haible  <bruno@clisp.org>
19426
19427         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
19428         from gl_HEADER_SYS_SOCKET.
19429         (gl_HEADER_SYS_SOCKET): Invoke it.
19430         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19431
19432 2008-09-28  Bruno Haible  <bruno@clisp.org>
19433
19434         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
19435         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
19436         Needed on OSF/1 4.0.
19437
19438 2008-09-28  Bruno Haible  <bruno@clisp.org>
19439
19440         Override open more carefully.
19441         * lib/open.c (orig_open): New function.
19442         (rpl_open): Use orig_open instead of open.
19443         * lib/fcntl.in.h: Add special invocation convention.
19444         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
19445         (gl_FUNC_OPEN): Invoke it.
19446
19447         Override freopen more carefully.
19448         * lib/freopen.c (orig_freopen): New function.
19449         (rpl_freopen): Use orig_freopen instead of freopen.
19450         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
19451         (gl_FUNC_FREOPEN): Invoke it.
19452
19453         Override fopen more carefully.
19454         * lib/fopen.c (orig_fopen): New function.
19455         (rpl_fopen): Use orig_fopen instead of fopen.
19456         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
19457         (gl_FUNC_FOPEN): Invoke it.
19458         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
19459
19460 2008-09-28  Bruno Haible  <bruno@clisp.org>
19461
19462         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
19463         SIGPIPE.
19464
19465 2008-09-28  Bruno Haible  <bruno@clisp.org>
19466
19467         * tests/test-sigaction.c (handler, main): Disable the check whether
19468         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
19469         glibc systems with LinuxThreads.
19470
19471 2008-09-28  Bruno Haible  <bruno@clisp.org>
19472
19473         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
19474
19475         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
19476         with AIX xlc.
19477         * lib/fcntl.in.h (open): Likewise.
19478         Reported by Rainer Tammer <tammer@tammer.net>.
19479
19480 2008-09-28  Bruno Haible  <bruno@clisp.org>
19481
19482         * modules/posix_spawnp-tests: New file.
19483         * tests/test-posix_spawn.c: New file.
19484         * tests/test-posix_spawn.in.sh: New file.
19485
19486         New module 'posix_spawnp'.
19487         * modules/posix_spawnp: New file.
19488         * lib/spawnp.c: New file, from GNU libc with modifications.
19489         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
19490
19491         New module 'posix_spawn'.
19492         * modules/posix_spawn: New file.
19493         * lib/spawn.c: New file, from GNU libc with modifications.
19494         * doc/posix-functions/posix_spawn.texi: Mention the new module.
19495
19496         New module 'posix_spawnattr_destroy'.
19497         * modules/posix_spawnattr_destroy: New file.
19498         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
19499         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
19500         module.
19501
19502         New module 'posix_spawnattr_setsigmask'.
19503         * modules/posix_spawnattr_setsigmask: New file.
19504         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
19505         modifications.
19506         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
19507         new module.
19508
19509         New module 'posix_spawnattr_getsigmask'.
19510         * modules/posix_spawnattr_getsigmask: New file.
19511         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
19512         modifications.
19513         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
19514         new module.
19515
19516         New module 'posix_spawnattr_setsigdefault'.
19517         * modules/posix_spawnattr_setsigdefault: New file.
19518         * lib/spawnattr_setdefault.c: New file, from GNU libc with
19519         modifications.
19520         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
19521         new module.
19522
19523         New module 'posix_spawnattr_getsigdefault'.
19524         * modules/posix_spawnattr_getsigdefault: New file.
19525         * lib/spawnattr_getdefault.c: New file, from GNU libc with
19526         modifications.
19527         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
19528         new module.
19529
19530         New module 'posix_spawnattr_setschedpolicy'.
19531         * modules/posix_spawnattr_setschedpolicy: New file.
19532         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
19533         modifications.
19534         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
19535         new module.
19536
19537         New module 'posix_spawnattr_getschedpolicy'.
19538         * modules/posix_spawnattr_getschedpolicy: New file.
19539         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
19540         modifications.
19541         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
19542         new module.
19543
19544         New module 'posix_spawnattr_setschedparam'.
19545         * modules/posix_spawnattr_setschedparam: New file.
19546         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
19547         modifications.
19548         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
19549         new module.
19550
19551         New module 'posix_spawnattr_getschedparam'.
19552         * modules/posix_spawnattr_getschedparam: New file.
19553         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
19554         modifications.
19555         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
19556         new module.
19557
19558         New module 'posix_spawnattr_setpgroup'.
19559         * modules/posix_spawnattr_setpgroup: New file.
19560         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
19561         modifications.
19562         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
19563         module.
19564
19565         New module 'posix_spawnattr_getpgroup'.
19566         * modules/posix_spawnattr_getpgroup: New file.
19567         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
19568         modifications.
19569         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
19570         module.
19571
19572         New module 'posix_spawnattr_setflags'.
19573         * modules/posix_spawnattr_setflags: New file.
19574         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
19575         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
19576         module.
19577
19578         New module 'posix_spawnattr_getflags'.
19579         * modules/posix_spawnattr_getflags: New file.
19580         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
19581         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
19582         module.
19583
19584         New module 'posix_spawnattr_init'.
19585         * modules/posix_spawnattr_init: New file.
19586         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
19587         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
19588         module.
19589
19590         New module 'posix_spawn_file_actions_destroy'.
19591         * modules/posix_spawn_file_actions_destroy: New file.
19592         * lib/spawn_faction_destroy.c: New file, from GNU libc with
19593         modifications.
19594         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
19595         the new module.
19596
19597         New module 'posix_spawn_file_actions_addopen'.
19598         * modules/posix_spawn_file_actions_addopen: New file.
19599         * lib/spawn_faction_addopen.c: New file, from GNU libc with
19600         modifications.
19601         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
19602         the new module.
19603
19604         New module 'posix_spawn_file_actions_adddup2'.
19605         * modules/posix_spawn_file_actions_adddup2: New file.
19606         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
19607         modifications.
19608         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
19609         the new module.
19610
19611         New module 'posix_spawn_file_actions_addclose'.
19612         * modules/posix_spawn_file_actions_addclose: New file.
19613         * lib/spawn_faction_addclose.c: New file, from GNU libc with
19614         modifications.
19615         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
19616         the new module.
19617
19618         New module 'posix_spawn_file_actions_init'.
19619         * modules/posix_spawn_file_actions_init: New file.
19620         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
19621         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
19622         new module.
19623
19624         New module 'posix_spawn-internal'.
19625         * modules/posix_spawn-internal: New file.
19626         * lib/spawn_int.h: New file, from GNU libc with modifications.
19627         * lib/spawni.c: New file, from GNU libc with modifications.
19628         * m4/posix_spawn.m4: New file.
19629
19630         New module 'spawn'.
19631         * modules/spawn: New file.
19632         * lib/spawn.in.h: New file, from GNU libc with modifications.
19633         * m4/spawn_h.m4: New file.
19634         * doc/posix-headers/spawn.texi: Mention the new module.
19635
19636 2008-09-28  Bruno Haible  <bruno@clisp.org>
19637
19638         * modules/sched-tests: New file.
19639         * tests/test-sched.c: New file.
19640
19641         New module 'sched'.
19642         * modules/sched: New file.
19643         * lib/sched.in.h: New file.
19644         * m4/sched_h.m4: New file.
19645         * doc/posix-headers/sched.texi: Mention the new module.
19646
19647 2008-09-27  Eric Blake  <ebb9@byu.net>
19648
19649         Fix previous patch, and tweak references to $0.
19650         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
19651         (func_version, func_gnulib_dir): Don't call this program
19652         gnulib-tool.
19653         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
19654         with using $0 in function.
19655         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
19656         (func_fatal_error): Reuse the name the user invoked us with.
19657
19658 2008-09-27  Bruno Haible  <bruno@clisp.org>
19659
19660         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
19661         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
19662         (gl_ICONV_H): Not here.
19663         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
19664         instead of assigning ICONV_H directly.
19665
19666         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
19667         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
19668         WCHAR_H directly.
19669
19670 2008-09-27  Bruno Haible  <bruno@clisp.org>
19671
19672         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
19673         * modules/arpa_inet (Depends-on): Add link-warning.
19674         (Makefile.am): Insert the definition of GL_LINK-WARNING.
19675         * modules/unistd (Makefile.am): Likewise.
19676
19677 2008-09-26  Bruno Haible  <bruno@clisp.org>
19678
19679         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
19680         variables.
19681         (func_version): Essentially copied from gnulib-tool.
19682         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
19683         func_readlink): Copied from gnulib-tool.
19684
19685 2008-09-26  Bruno Haible  <bruno@clisp.org>
19686
19687         * gnulib-tool (func_version): Change directory to $gnulib_dir before
19688         invoking git-version-gen.
19689
19690 2008-09-26  Bruno Haible  <bruno@clisp.org>
19691
19692         * posix-modules: Update to directory names changed on 2008-01-19.
19693         Remove commas in output before splitting into words. No more need to
19694         avoid 'ftruncate' since 2007-02-19.
19695
19696 2008-09-26  Bruno Haible  <bruno@clisp.org>
19697
19698         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
19699
19700 2008-09-26  Bruno Haible  <bruno@clisp.org>
19701
19702         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
19703         * modules/fwriteerror (Depends-on): Add errno.
19704
19705 2008-09-26  Bruno Haible  <bruno@clisp.org>
19706
19707         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
19708         * tests/test-vc-list-files-cvs.sh: Likewise.
19709
19710 2008-09-26  Bruno Haible  <bruno@clisp.org>
19711
19712         * doc/posix-headers/sys_resource.texi: Reorder items.
19713
19714 2008-09-26  Jim Meyering  <meyering@redhat.com>
19715
19716         fts: tweak inode comparison function
19717         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
19718         inode numbers, as documented.
19719
19720         fts: sort dirent entries on inode number before traversing
19721         This avoids a quadratic, seek-related performance penalty when
19722         operating on a directory containing many entries (measurable at 10k;
19723         3.5 hours at 2 million entries with a cold cache) on certain types
19724         of file systems, including ext3 and ext4, but not tmpfs.
19725         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
19726         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
19727         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
19728         (fs_handles_readdir_ordered_dirents_efficiently): New function.
19729         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
19730         (fts_build): Set the stat.st_ino member from D_INO.
19731         If it is likely to be useful, sort dirent entries on inode number.
19732
19733         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
19734         and the struct statfs.f_type member.
19735         * modules/fts (Depends-on): Add d-ino.
19736
19737 2008-09-26  Bruno Haible  <bruno@clisp.org>
19738
19739         * modules/sigpipe-die (Depends-on): Add sigpipe.
19740
19741         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
19742         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
19743         and GNULIB_STDIO_H_SIGPIPE are set.
19744         * lib/stdio-write.c: New file.
19745         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
19746         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19747         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19748         REPLACE_STDIO_WRITE_FUNCS.
19749         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
19750         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19751         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19752         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
19753         * modules/stdio (Files): Add lib/stdio-write.c.
19754         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
19755         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19756         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19757         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
19758         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
19759         REPLACE_FPRINTF_POSIX.
19760         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
19761         REPLACE_PRINTF_POSIX.
19762         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
19763         REPLACE_VFPRINTF_POSIX.
19764         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
19765         REPLACE_VPRINTF_POSIX.
19766         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
19767         SIGPIPE issue.
19768         * doc/posix-functions/fputc.texi: Likewise.
19769         * doc/posix-functions/fputs.texi: Likewise.
19770         * doc/posix-functions/fwrite.texi: Likewise.
19771         * doc/posix-functions/printf.texi: Likewise.
19772         * doc/posix-functions/putc.texi: Likewise.
19773         * doc/posix-functions/putchar.texi: Likewise.
19774         * doc/posix-functions/puts.texi: Likewise.
19775         * doc/posix-functions/vfprintf.texi: Likewise.
19776         * doc/posix-functions/vprintf.texi: Likewise.
19777
19778         * modules/safe-write (Depends-on): Add write.
19779
19780         * modules/sigpipe-tests: New file.
19781         * tests/test-sigpipe.c: New file.
19782         * tests/test-sigpipe.sh: New file.
19783
19784         * modules/write: New file.
19785         * lib/unistd.in.h: Include <sys/types.h>.
19786         (write): New declaration.
19787         * lib/write.c: New file.
19788         * m4/write.m4: New file.
19789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19790         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
19791         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
19792         GNULIB_WRITE, REPLACE_WRITE.
19793         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
19794         and the SIGPIPE issue.
19795
19796         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
19797         (raise): New declaration.
19798         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
19799         (ext_signal): New function.
19800         (rpl_raise): New function.
19801         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
19802         GNULIB_SIGNAL_H_SIGPIPE.
19803         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
19804         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
19805
19806         * modules/sigpipe: New file.
19807         * m4/sigpipe.m4: New file.
19808
19809 2008-09-25  Derek Price  <derek@ximbiot.com>
19810             Bruno Haible  <bruno@clisp.org>
19811
19812         * gnulib-tool (func_import): Report all license incompatibilities, not
19813         just the first one.
19814
19815 2008-09-25  Bruno Haible  <bruno@clisp.org>
19816
19817         * gnulib-tool (func_import): When computing the edits, consider not
19818         only the Makefile.ams that exist but also those that will be generated.
19819
19820 2008-09-25  Simon Josefsson  <simon@josefsson.org>
19821
19822         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
19823         fixes gnulib-tool --test warning about duplicate dependency.
19824
19825 2008-09-25  Bruno Haible  <bruno@clisp.org>
19826
19827         * gnulib-tool: Don't ask the user to perform edits in the generated
19828         Makefile.ams.
19829         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
19830         apply to the Makefile.am being generated.
19831         (func_emit_tests_Makefile_am): Execute edits that apply to the
19832         Makefile.am being generated.
19833         (func_import): Setup list of Makefile.am edits before emitting the
19834         Makefile.ams, not at the end.
19835         (func_create_testdir): Update.
19836         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
19837
19838 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19839
19840         * gnulib-tool (func_import): Store the --tests-base option in the
19841         comment in gnulib-cache.m4.
19842
19843 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
19844
19845         * NEWS: Document increased portability that sys_select now provides.
19846
19847         * lib/sys_select.in.h: Install select wrapper.
19848         * lib/sys_socket.in.h: Use more descriptive name when there is no
19849         select wrapper.
19850         * lib/winsock-select.c: New.
19851         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
19852         Require gl_HEADER_SYS_SOCKET.
19853         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
19854         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
19855         * tests/test-sys_select.c: Add functional tests.
19856
19857 2008-09-24  Eric Blake  <ebb9@byu.net>
19858
19859         open, fopen: close fd leak in last patch
19860         * lib/open.c (rpl_open): Close fd before returning error.
19861         * lib/fopen.c (rpl_fopen): Close fd before returning error.
19862         * doc/posix-functions/open.texi (open): Document that Irix also
19863         has the bug.
19864         * doc/posix-functions/fopen.texi (fopen): Likewise.
19865         Reported by Paolo Bonzini.
19866
19867 2008-09-24  Bruno Haible  <bruno@clisp.org>
19868
19869         Ensure that a filename ending in a slash cannot be used to access a
19870         non-directory.
19871         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
19872         to check whether it's really a directory.
19873         * lib/fopen.c: Include fcntl.h, unistd.h.
19874         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
19875         and fdopen().
19876         * modules/fopen (Depends-on): Add unistd.
19877         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
19878         * tests/test-fopen.c (main): Likewise.
19879         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
19880         * doc/posix-functions/fopen.texi: Likewise.
19881         Reported by Eric Blake.
19882
19883 2008-09-23  Eric Blake  <ebb9@byu.net>
19884
19885         c-stack: avoid compiler optimizations when provoking overflow
19886         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
19887         recursion harder to optimize, to ensure a stack overflow occurs.
19888         * tests/test-c-stack.c (recurse): Likewise.
19889         Borrowed from libsigsegv.
19890
19891         c-stack: work around Irix sigaltstack bug
19892         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
19893         whether sigaltstack uses wrong end of stack_t (copied in part from
19894         libsigsegv).
19895         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
19896         Irix bug, without requiring an over-allocation.
19897         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
19898         bug.
19899
19900         fopen: document mingw bug on directories
19901         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
19902         not allowing a stream visiting a directory, even though reading
19903         from such a stream is not portable.
19904
19905 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
19906
19907         * lib/poll.c: Rewrite.
19908         * modules/poll: Depend on alloca.
19909
19910 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
19911
19912         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
19913         instead define prototypes for a full set of wrappers.  Ensure
19914         that Cygwin does not use the compatibility code, which is only
19915         for MinGW.
19916         * lib/winsock.c: New.
19917         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
19918         * modules/sys_socket: Add lib/winsock.c.
19919
19920         * modules/poll-tests: Add errno and perror.
19921         * tests/test-poll.c: Use ioctl, not ioctlsocket.
19922
19923 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
19924
19925         * tests/test-poll.c: Downgrade minimum needed Winsock version.
19926
19927 2008-09-23  Bruno Haible  <bruno@clisp.org>
19928
19929         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
19930         * doc/glibc-functions/*: Likewise.
19931
19932 2008-09-23  Simon Josefsson  <simon@josefsson.org>
19933
19934         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
19935         success.
19936
19937 2008-09-22  Eric Blake  <ebb9@byu.net>
19938             Bruno Haible  <bruno@clisp.org>
19939
19940         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
19941         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
19942         supply %A but mishandle pseudo-NaN.
19943         Reported by Simon Josefsson.
19944
19945 2008-09-21  Bruno Haible  <bruno@clisp.org>
19946
19947         * tests/test-lock.c (main): Tweak skip message.
19948         * tests/test-tls.c (main): Likewise.
19949
19950 2008-09-21  Bruno Haible  <bruno@clisp.org>
19951
19952         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
19953         whether 'struct sigaction' has sa_sigaction here...
19954         (gl_PREREQ_SIG_HANDLER_H): ... not here.
19955         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
19956
19957 2008-09-21  Bruno Haible  <bruno@clisp.org>
19958
19959         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
19960         section.
19961         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
19962         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
19963         the new section.
19964         (Support for obsolete systems lacking POSIX:2001): New section.
19965         (String handling <string.h>): Move strdup to the new section.
19966         Suggested by Simon Josefsson and Paolo Bonzini.
19967
19968 2008-09-21  Bruno Haible  <bruno@clisp.org>
19969
19970         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
19971         exponents in %e and %g results on 'long double'. Needed for mingw's
19972         improved *printf functions.
19973         * tests/test-vasprintf-posix.c (test_function): Likewise.
19974         * tests/test-snprintf-posix.h (test_function): Likewise.
19975         * tests/test-sprintf-posix.h (test_function): Likewise.
19976         Reported by Eric Blake.
19977
19978 2008-09-21  Bruno Haible  <bruno@clisp.org>
19979
19980         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
19981         * tests/test-sprintf-posix.h (test_function): Likewise.
19982
19983 2008-09-21  Bruno Haible  <bruno@clisp.org>
19984
19985         * modules/getpass (Depends-on): Add strdup-posix.
19986
19987         New module 'strdup-posix'.
19988         * modules/strdup-posix: New file.
19989         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
19990         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
19991         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19992         REPLACE_STRDUP.
19993         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
19994         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
19995         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
19996         strdup-posix.
19997
19998         * modules/strdup (Depends-on): Remove malloc-posix.
19999
20000 2008-09-20  Bruno Haible  <bruno@clisp.org>
20001
20002         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
20003         Wildenhues.
20004
20005 2008-09-20  Bruno Haible  <bruno@clisp.org>
20006
20007         Ensure that wint_t gets defined on IRIX 5.3.
20008         * lib/wchar.in.h (wint_t): Define if not defined by the system.
20009         * lib/wctype.in.h (wint_t): Likewise.
20010         (__wctype_wint_t): Remove type.
20011         (isw*): Use wint_t instead of __wctype_wint_t.
20012         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
20013         * modules/wchar (Files): Add m4/wint_t.m4.
20014         (Makefile.am): Substitute HAVE_WINT_T.
20015         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
20016         * tests/test-wctype.c: Check that wint_t is defined.
20017         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
20018         * doc/posix-headers/wctype.texi: Likewise.
20019         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20020
20021 2008-09-18  Bruno Haible  <bruno@clisp.org>
20022
20023         * gnulib-tool (func_exit): Update comment.
20024
20025 2008-09-18  Simon Josefsson  <simon@josefsson.org>
20026
20027         * modules/getaddrinfo (Depends-on): Remove strdup, this module
20028         assumes strdup exists and does not depend on strdup to return
20029         ENOMEM on out of memory conditions.
20030
20031 2008-09-18  Bruno Haible  <bruno@clisp.org>
20032
20033         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
20034         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
20035         digits for the exponent.
20036
20037 2008-09-18  Jim Meyering  <meyering@redhat.com>
20038             Bruno Haible  <bruno@clisp.org>
20039
20040         * lib/vasnprintf.c (decimal_point_char): Define also if
20041         NEED_PRINTF_INFINITE_LONG_DOUBLE.
20042
20043 2008-09-16  Bruno Haible  <bruno@clisp.org>
20044         and Eric Blake  <ebb9@byu.net>
20045
20046         vasnprintf: support Irix 5.3
20047         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
20048         that mishandle long double infinity.
20049         Reported by Tom G. Christensen.
20050
20051 2008-09-16  Bruno Haible  <bruno@clisp.org>
20052
20053         * doc/glibc-functions/scandir.texi: Mention the function is missing on
20054         Solaris 9.
20055         * doc/glibc-functions/alphasort.texi: Likewise.
20056         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
20057
20058 2008-09-16  Jim Meyering  <meyering@redhat.com>
20059
20060         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
20061         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
20062         a umask modification leak out of a subshell.  Otherwise, the
20063         opensolaris /bin/sh would be accepted and thus cause unwarranted
20064         failures in the coreutils test suite.
20065
20066 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
20067
20068         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
20069         to succeed.
20070
20071 2008-09-16  Jim Meyering  <meyering@redhat.com>
20072
20073         avoid spurious test failure when library is built without ACL support
20074         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
20075         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
20076         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
20077         * tests/test-copy-acl.sh: Likewise.
20078
20079 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20080
20081         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
20082         based on character occurrence counts.
20083
20084 2008-09-15  Eric Blake  <ebb9@byu.net>
20085
20086         tests: avoid some compiler warnings
20087         * tests/test-memchr.c (main): Pass NULL indirectly.
20088         * tests/test-closein.c (main): Avoid unused variable.
20089
20090 2008-09-15  Bruno Haible  <bruno@clisp.org>
20091
20092         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
20093         are missing on OpenBSD 4.0 individually.
20094         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20095
20096 2008-09-15  Bruno Haible  <bruno@clisp.org>
20097
20098         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
20099         * doc/posix-functions/strerror.texi: Mention also Cygwin.
20100         * doc/posix-functions/perror.texi: Likewise.
20101         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
20102         is missing.
20103         Reported by Eric Blake.
20104
20105         * lib/errno.in.h: Use replacement values >= 2000.
20106         Reported by Eric Blake.
20107
20108 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20109
20110         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
20111         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
20112         limit.
20113         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
20114         compareseq was aborted.
20115
20116 2008-09-14  Bruno Haible  <bruno@clisp.org>
20117
20118         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
20119         yvec_edit_count.
20120         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
20121         (fstrcmp_bounded): Simplify result computation accordingly.
20122
20123 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20124
20125         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
20126         (fstrcmp): Define in terms of fstrcmp_bounded.
20127         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
20128         lower_bound argument.
20129         Return quickly if the result is certainly < lower_bound.
20130         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
20131
20132 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20133
20134         * lib/diffseq.h (EARLY_ABORT): New macro.
20135         (compareseq): Change return type to bool. Return true when EARLY_ABORT
20136         evaluates to true.
20137
20138 2008-09-14  Bruno Haible  <bruno@clisp.org>
20139
20140         * modules/perror-tests: New file.
20141         * tests/test-perror.sh: New file.
20142         * tests/test-perror.c: New file.
20143
20144         New module 'perror'.
20145         * lib/stdio.in.h (perror): New declaration.
20146         * lib/perror.c: New file.
20147         * m4/perror.m4: New file.
20148         * modules/perror: New file.
20149         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
20150         * doc/posix-functions/perror.texi: Mention the perror module.
20151         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
20152         REPLACE_PERROR.
20153         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
20154         REPLACE_PERROR.
20155
20156 2008-09-14  Bruno Haible  <bruno@clisp.org>
20157
20158         * modules/stdio (Makefile.am): Reorder to match the order in
20159         lib/stdio.in.h.
20160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
20161
20162 2008-09-13  Bruno Haible  <bruno@clisp.org>
20163
20164         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
20165
20166 2008-09-13  Bruno Haible  <bruno@clisp.org>
20167
20168         Extend strerror to cover the added errno values.
20169         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
20170         (rpl_strerror): Provide error messages for the added errno values and
20171         for the WSA* values.
20172         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
20173         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
20174         strerror.
20175         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
20176         * modules/strerror (Depends-on): Add errno.
20177         * doc/posix-functions/strerror.texi: Document the change.
20178         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
20179         and EOVERFLOW.
20180
20181 2008-09-13  Bruno Haible  <bruno@clisp.org>
20182
20183         * modules/EOVERFLOW: Remove file.
20184         * m4/eoverflow.m4: Remove file.
20185         * modules/EOVERFLOW-tests: Remove file.
20186         * tests/test-EOVERFLOW.c: Remove file.
20187         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
20188         * modules/ftell (Depends-on): Likewise.
20189         * modules/getdelim (Depends-on): Likewise.
20190         * modules/getugroups (Depends-on): Likewise.
20191         * modules/poll (Depends-on): Likewise.
20192         * modules/snprintf (Depends-on): Likewise.
20193         * modules/sprintf-posix (Depends-on): Likewise.
20194         * modules/vasnprintf (Depends-on): Likewise.
20195         * modules/vasprintf (Depends-on): Likewise.
20196         * modules/vfprintf-posix (Depends-on): Likewise.
20197         * modules/vsnprintf (Depends-on): Likewise.
20198         * modules/vsprintf-posix (Depends-on): Likewise.
20199         * modules/xvasprintf (Depends-on): Likewise.
20200         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
20201         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
20202         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
20203         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
20204         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
20205         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
20206         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
20207         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
20208         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
20209         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
20210         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
20211         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
20212         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
20213         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
20214         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
20215         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
20216         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
20217         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
20218         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
20219         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
20220         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
20221         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
20222         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
20223         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
20224         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
20225         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
20226         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
20227         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
20228         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
20229         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
20230         * MODULES.html.sh: Remove EOVERFLOW.
20231         * NEWS: Mention the change.
20232
20233 2008-09-13  Bruno Haible  <bruno@clisp.org>
20234
20235         * modules/errno-tests: New file.
20236         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
20237
20238         * lib/errno.in.h: New file.
20239         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
20240         * modules/errno: New file.
20241         * doc/posix-headers/errno.texi: Update documentation.
20242         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
20243
20244 2008-09-13  Bruno Haible  <bruno@clisp.org>
20245
20246         * tests/test-poll.c: Use #if for native Windows, rather than testing
20247         __MSVCRT__.
20248
20249 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20250             Bruno Haible  <bruno@clisp.org>
20251
20252         * lib/glob.c: Don't include <pwd.h> on native Windows.
20253         (WINDOWS32): New macro.
20254         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
20255
20256 2008-09-13  Bruno Haible  <bruno@clisp.org>
20257
20258         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
20259         (ETIMEDOUT): Remove macro.
20260         (glthread_cond_timedwait_multithreaded): New declaration.
20261         (glthread_cond_timedwait): Use it.
20262         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
20263         (glthread_cond_timedwait_multithreaded): New function.
20264
20265 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
20266
20267         * modules/poll-tests: Do not check for io.h.
20268         * tests/test-poll.c: Check for __MSVCRT__ instead.
20269
20270 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
20271
20272         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
20273         * modules/poll-tests: Add inet_pton, stdbool, sockets.
20274         * tests/test-poll.c: Use them.  Use _pipe on Windows.
20275
20276 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
20277
20278         * modules/poll-tests: New.
20279         * tests/test-poll.c: New.
20280
20281 2008-09-12  Eric Blake  <ebb9@byu.net>
20282
20283         frexp: test for NetBSD failure on -0.0
20284         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
20285         not all, bugs from NetBSD 3.0 have been fixed.
20286         * doc/posix-functions/frexp.texi (frexp): Document bug.
20287         Reported by Thomas Klausner.
20288
20289         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
20290         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
20291         literal -0.0.
20292         Reported by Jonathan C. Patschke <jp@centtech.com>.
20293
20294 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20295
20296         * lib/glthread/cond.h: Use dummy implementation also if
20297         USE_WIN32_THREADS.
20298
20299 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20300
20301         * modules/fnmatch-posix (License): Change to LGPLv2+.
20302         * modules/fnmatch-gnu (License): Likewise.
20303
20304 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20305
20306         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
20307
20308 2008-09-11  Jim Meyering  <meyering@redhat.com>
20309
20310         * users.txt: Add gtk-vnc.
20311
20312 2008-09-08  Simon Josefsson  <simon@josefsson.org>
20313
20314         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
20315         rotate amounts.
20316
20317         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
20318         required for 16-bit and 8-bit rotates.
20319         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
20320         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
20321         UINT8_MAX instead of hard-coded constants.
20322         Suggested by Paul Eggert.
20323
20324 2008-09-07  Bruno Haible  <bruno@clisp.org>
20325
20326         * tests/test-striconveh.c (main): Check behaviour when converting from
20327         UTF-7.
20328
20329         Make striconveh work better with stateful encodings.
20330         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
20331         that iconv does not increment the inptr when returning -1/EINVAL.
20332
20333 2008-09-07  Bruno Haible  <bruno@clisp.org>
20334
20335         * build-aux/config.rpath: Update according to libtool-2.2.6.
20336         * build-aux/config.libpath: Likewise.
20337
20338 2008-09-06  Bruno Haible  <bruno@clisp.org>
20339
20340         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
20341         * lib/freadptr.c (freadptr): Likewise.
20342         * lib/freadseek.c (freadptrinc): Likewise.
20343         Reported by Simon Josefsson.
20344
20345 2008-09-06  Bruno Haible  <bruno@clisp.org>
20346
20347         * modules/freadptr (License): Change to LGPLv2+.
20348         * modules/freadseek (License): Likewise.
20349         Suggested by Eric Blake.
20350
20351         * modules/memchr2 (License): Change to LGPLv2+.
20352         Approved by Eric Blake.
20353
20354 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20355             Bruno Haible  <bruno@clisp.org>
20356
20357         Make gnulib-tool work with native 'sed' on AIX.
20358         * gnulib-tool (sed_noop): New variable.
20359         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
20360         func_add_or_update, func_create_testdir): Use it to initialize sed
20361         script variables.
20362         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20363
20364 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
20365             Bruno Haible  <bruno@clisp.org>
20366
20367         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
20368         also works after #include directives.
20369
20370 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
20371
20372         getdate.y: reject an out-of-range timezone value
20373         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
20374         the range [-24...+24].  When specified with only one or two digits,
20375         * tests/test-getdate.c: Tests for the fix.
20376         * doc/getdate.texi: Document this change.
20377
20378 2008-09-03  Bruno Haible  <bruno@clisp.org>
20379
20380         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
20381
20382 2008-09-02  Simon Josefsson  <simon@josefsson.org>
20383
20384         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
20385         <bruce.korb@gmail.com> with ideas from Ben Pfaff
20386         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
20387         Blake <ebb9@byu.net>.
20388
20389         * tests/test-bitrotate.c: Add more test vectors.
20390
20391 2008-09-02  Eric Blake  <ebb9@byu.net>
20392
20393         vasnprintf-posix: handle large precision via %.*d
20394         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
20395         when handling it ourselves.
20396         * tests/test-vasnprintf-posix.c (test_function): Add test.
20397         * tests/test-snprintf-posix.h (test_function): Likewise.
20398         * tests/test-sprintf-posix.h (test_function): Likewise.
20399         * tests/test-vasprintf-posix.c (test_function): Likewise.
20400         Reported by Alain Guibert.
20401
20402 2008-09-01  Eric Blake  <ebb9@byu.net>
20403
20404         c-stack: make configure-time check more robust
20405         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
20406         successful sigaction call.
20407         Reported by Tom G. Christensen.
20408
20409 2008-09-01  Bruno Haible  <bruno@clisp.org>
20410
20411         New module 'findprog-lgpl'.
20412         * modules/findprog-lgpl: New file.
20413         * lib/findprog-lgpl.c: New file.
20414         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
20415         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
20416         to decide whether to use strdup or xstrdup, concatenated_filename or
20417         xconcatenated_filename.
20418
20419 2008-09-01  Bruno Haible  <bruno@clisp.org>
20420
20421         Split module 'concat-filename' into 'concat-filename' (LGPL) and
20422         'xconcat-filename' (GPL).
20423         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
20424         (License): Change to LGPLv2+.
20425         * modules/xconcat-filename: New file.
20426         * lib/concat-filename.h (concatenated_filename): Change specification.
20427         (xconcatenated_filename): New declaration.
20428         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
20429         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
20430         memory situations.
20431         * lib/xconcat-filename.c: New file.
20432         * NEWS: Mention the change.
20433         * lib/findprog.c: Include concat-filename.h, not filename.h.
20434         (find_in_path): Use xconcatenated_filename instead of
20435         concatenated_filename.
20436         * lib/javacomp.c: Include concat-filename.h, not filename.h.
20437         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
20438         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
20439         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
20440         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
20441         instead of concatenated_filename.
20442         * lib/javaexec.c: Include concat-filename.h, not filename.h.
20443         (execute_java_class): Use xconcatenated_filename instead of
20444         concatenated_filename.
20445         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
20446         * modules/javacomp (Depends-on): Likewise.
20447         * modules/javaexec (Depends-on): Likewise.
20448
20449 2008-09-01  Bruno Haible  <bruno@clisp.org>
20450
20451         Split module 'filename' into 'filename' and 'concat-filename'.
20452         * modules/filename: Keep only lib/filename.h.
20453         (License): Change to LGPLv2+.
20454         * modules/concat-filename: New file, extracted from modules/filename.
20455         * lib/filename.h (concatenated_filename): Remove declaration.
20456         * lib/concat-filename.h: New file, extracted from lib/filename.h.
20457         * lib/concat-filename.c: Include concat-filename.h.
20458         * NEWS: Mention the change.
20459
20460 2008-09-01  Simon Josefsson  <simon@josefsson.org>
20461
20462         * lib/bitrotate.h (rotl8, rotr8): Add.
20463
20464         * modules/bitrotate (configure.ac): Need
20465         AC_REQUIRE([AC_C_INLINE]).
20466         (Description): Mention stdint.h.  Reported by Bruno Haible
20467         <bruno@clisp.org>.
20468
20469         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
20470         Paolo Bonzini <bonzini@gnu.org>.
20471
20472 2008-08-31  Bruno Haible  <bruno@clisp.org>
20473
20474         Assume Solaris specific bi-arch conventions on Solaris systems.
20475         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
20476         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
20477         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
20478         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
20479         like acl_libdirstem.
20480         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
20481         acl_libdirstem.
20482         * NEWS: Mention the change.
20483         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
20484
20485 2008-08-31  Jim Meyering  <meyering@redhat.com>
20486
20487         * lib/strftime.h: Add comments describing the two added arguments.
20488
20489         remove duplicate #include directives
20490         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
20491         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
20492
20493 2008-08-31  Bruno Haible  <bruno@clisp.org>
20494
20495         New module 'sigpipe-die'.
20496         * modules/sigpipe-die: New file.
20497         * lib/sigpipe-die.h: New file.
20498         * lib/sigpipe-die.c: New file.
20499         * MODULES.html.sh (Signal handling): Add sigpipe-die.
20500
20501 2008-08-31  Bruno Haible  <bruno@clisp.org>
20502
20503         Don't override previously installed signal handlers.
20504         * lib/fatal-signal.c (saved_sigactions): New variable.
20505         (uninstall_handlers): Reset the signal to the saved handler, not
20506         to SIG_DFL (except when ignored).
20507         (install_handlers): Save the previous handlers.
20508
20509 2008-08-30  Bruno Haible  <bruno@clisp.org>
20510
20511         * gnulib-tool (func_reset_sigpipe): New function.
20512         (func_get_automake_snippet, func_modules_transitive_closure,
20513         func_import): Invoke it before a join command that reads from stdin,
20514         to avoid "echo: write error: Broken pipe" error messages on stderr.
20515         Reported by Sam Steingold <sds@gnu.org>.
20516
20517 2008-08-30  Bruno Haible  <bruno@clisp.org>
20518
20519         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
20520         Code copied from m4/open.m4.
20521         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
20522         access and the filename ends in a slash. Code copied from lib/open.c.
20523         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
20524         * tests/test-fopen.c (main): Check against bug with trailing slash.
20525
20526 2008-08-29  Bruno Haible  <bruno@clisp.org>
20527
20528         Avoid some "gcc -pedantic" warnings.
20529         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
20530         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
20531         * lib/dirent.in.h: Likewise.
20532         * lib/fcntl.in.h: Likewise.
20533         * lib/float.in.h: Likewise.
20534         * lib/iconv.in.h: Likewise.
20535         * lib/inttypes.in.h: Likewise.
20536         * lib/locale.in.h: Likewise.
20537         * lib/math.in.h: Likewise.
20538         * lib/netinet_in.in.h: Likewise.
20539         * lib/search.in.h: Likewise.
20540         * lib/signal.in.h: Likewise.
20541         * lib/stdarg.in.h: Likewise.
20542         * lib/stdint.in.h: Likewise.
20543         * lib/stdio.in.h: Likewise.
20544         * lib/stdlib.in.h: Likewise.
20545         * lib/string.in.h: Likewise.
20546         * lib/strings.in.h: Likewise.
20547         * lib/sys_select.in.h: Likewise.
20548         * lib/sys_socket.in.h: Likewise.
20549         * lib/sys_stat.in.h: Likewise.
20550         * lib/sys_time.in.h: Likewise.
20551         * lib/sysexits.in.h: Likewise.
20552         * lib/time.in.h: Likewise.
20553         * lib/unistd.in.h: Likewise.
20554         * lib/wchar.in.h: Likewise.
20555         * lib/wctype.in.h: Likewise.
20556         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
20557         * modules/fchdir (Makefile.am): Likewise.
20558         * modules/fcntl (Makefile.am): Likewise.
20559         * modules/float (Makefile.am): Likewise.
20560         * modules/iconv_open (Makefile.am): Likewise.
20561         * modules/inttypes (Makefile.am): Likewise.
20562         * modules/locale (Makefile.am): Likewise.
20563         * modules/math (Makefile.am): Likewise.
20564         * modules/netinet_in (Makefile.am): Likewise.
20565         * modules/search (Makefile.am): Likewise.
20566         * modules/signal (Makefile.am): Likewise.
20567         * modules/stdarg (Makefile.am): Likewise.
20568         * modules/stdint (Makefile.am): Likewise.
20569         * modules/stdio (Makefile.am): Likewise.
20570         * modules/stdlib (Makefile.am): Likewise.
20571         * modules/string (Makefile.am): Likewise.
20572         * modules/strings (Makefile.am): Likewise.
20573         * modules/sys_select (Makefile.am): Likewise.
20574         * modules/sys_socket (Makefile.am): Likewise.
20575         * modules/sys_stat (Makefile.am): Likewise.
20576         * modules/sys_time (Makefile.am): Likewise.
20577         * modules/sysexits (Makefile.am): Likewise.
20578         * modules/time (Makefile.am): Likewise.
20579         * modules/unistd (Makefile.am): Likewise.
20580         * modules/wchar (Makefile.am): Likewise.
20581         * modules/wctype (Makefile.am): Likewise.
20582         Reported by Reuben Thomas <rrt@sc3d.org>.
20583
20584 2008-08-29  Bruno Haible  <bruno@clisp.org>
20585
20586         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
20587         any more.
20588
20589 2008-08-29  Simon Josefsson  <simon@josefsson.org>
20590
20591         * MODULES.html.sh (Misc): Add bitrotate.
20592
20593         * modules/bitrotate: New file.
20594
20595         * lib/bitrotate.h: New file.
20596
20597         * modules/bitrotate-tests: New file.
20598
20599         * tests/test-bitrotate.c: New file.
20600
20601         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
20602         on the bitrotate module.
20603
20604         * lib/arctwo.c: Use new bitrotate module.
20605
20606 2008-08-29  Jim Meyering  <meyering@redhat.com>
20607
20608         bootstrap: merge changes from coreutils
20609         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
20610         of copied files.  Remove a kludge, now that this is fixed.
20611         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
20612         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
20613         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
20614
20615 2008-08-29  Bruno Haible  <bruno@clisp.org>
20616
20617         * MODULES.html.sh: Remove --cvs-urls option.
20618
20619 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
20620
20621         maint.mk: adjust to file name change
20622         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
20623
20624 2008-08-28  Jim Meyering  <meyering@redhat.com>
20625
20626         * modules/getndelim2 (License): Relicense to LGPLv2+.
20627         Approved by Richard Stallman for the version of 1995, and by
20628         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
20629
20630 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
20631
20632         * lib/getdelim.c (flockfile, funlockfile): Make all of them
20633         dummy if one is not available.  Do not touch them if
20634         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
20635         (getc_maybe_unlocked): New.
20636         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
20637
20638 2008-08-26  Eric Blake  <ebb9@byu.net>
20639
20640         doc/INSTALL: resync from autoconf
20641         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
20642         (INSTALL_PRELUDE): Delete; this is done more efficiently by
20643         moving...
20644         * install.texi [!autoconf]: ...here.  Resync from autoconf.
20645         * INSTALL: Regenerate.
20646         * INSTALL.ISO: New file.
20647         * INSTALL.UTF-8: Likewise.
20648
20649 2008-08-26  Jim Meyering  <meyering@redhat.com>
20650
20651         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
20652         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
20653         these definitions conditional, so that they may be overridden, too.
20654
20655 2008-08-26  Bruno Haible  <bruno@clisp.org>
20656
20657         Generate INSTALL file variants with prettier quotes.
20658         * doc/Makefile (INSTALL_PRELUDE): New macro.
20659         (INSTALL): Use it.
20660         (INSTALL.ISO, INSTALL.UTF-8): New rules.
20661
20662 2008-08-26  Bruno Haible  <bruno@clisp.org>
20663
20664         Run makeinfo in an English locale.
20665         * doc/Makefile (MAKEINFO): New variable.
20666
20667 2008-08-26  Bruno Haible  <bruno@clisp.org>
20668
20669         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
20670         Suggested by Eric Blake.
20671
20672 2008-08-25  Bruno Haible  <bruno@clisp.org>
20673
20674         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
20675
20676 2008-08-25  Eric Blake  <ebb9@byu.net>
20677
20678         c-stack: test that stack overflow can be caught
20679         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
20680         that platform allows handling stack overflow; at least OS/2 EMX
20681         has sigaltstack, but crashes before transferring control to
20682         handler on stack overflow.
20683         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
20684         check for HAVE_STACK_OVERFLOW_HANDLING.
20685         Reported by Elbert Pol.
20686
20687 2008-08-25  Bruno Haible  <bruno@clisp.org>
20688
20689         * doc/posix-functions/strftime.texi: Fix description of strftime
20690         module.
20691
20692 2008-08-24  Bruno Haible  <bruno@clisp.org>
20693
20694         * tests/uniwidth/test-uc_width2.c: New file.
20695         * tests/uniwidth/test-uc_width2.sh: New file.
20696         * modules/uniwidth/width-tests (Files): Add the new files.
20697         (TESTS): Add uniwidth/test-uc_width2.sh.
20698         (TESTS_ENVIRONMENT): New variable.
20699         (check_PROGRAMS): Add test-uc_width2.
20700         (test_uc_width2_SOURCES): New variable.
20701
20702         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
20703         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
20704         not 0x00AB.
20705         Reported by Alexander V. Lukyanov <lav@netis.ru>.
20706
20707 2008-08-22  Eric Blake  <ebb9@byu.net>
20708
20709         test-lock, test-tls: mention why a test is skipped
20710         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
20711         skipped.
20712         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
20713
20714         count-one-bits: relax license
20715         * modules/count-one-bits (License): Relicense to LGPLv2+.
20716         Suggested by Ludovic Courtès, approved by Ben Pfaff.
20717
20718 2008-08-22  Andreas Schwab  <schwab@suse.de>
20719
20720         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
20721         Remove spurious space in assignment.
20722
20723 2008-08-21  Simon Josefsson  <simon@josefsson.org>
20724
20725         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
20726         Paul Eggert <eggert@CS.UCLA.EDU>.
20727
20728 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
20729
20730         * modules/gettext: Add m4/threadlib.m4.
20731
20732 2008-08-19  Eric Blake  <ebb9@byu.net>
20733
20734         test-c-stack: fix compilation failure on FreeBSD 5.0
20735         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
20736         headers before <sys/resource.h>.
20737         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
20738         the bug.
20739         Reported by Nelson H. F. Beebe.
20740
20741         strverscmp: migrate from "strverscmp.h" to <string.h>
20742         * modules/string (Makefile.am): Add new hooks.
20743         * modules/strverscmp (Files): Remove strverscmp.h.
20744         (Depends-on): Add string.
20745         (configure.ac): Add indicator.
20746         (Include): Mention new header.
20747         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
20748         defaults.
20749         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
20750         results.
20751         * lib/strverscmp.h: Delete.
20752         * lib/string.in.h (strverscmp): Provide declaration, when needed.
20753         * tests/test-strverscmp.c (includes): Adjust client.
20754         * lib/check-version.c (includes): Likewise.
20755         * NEWS: Document the change.
20756
20757         strverscmp: add unit test
20758         * modules/strverscmp-tests: New file.
20759         * tests/test-strverscmp.c: Likewise.
20760
20761 2008-08-19  Simon Josefsson  <simon@josefsson.org>
20762
20763         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
20764         regarding Windows crypto stuff, from Mono.
20765
20766 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
20767
20768         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
20769         if present, for intel RND.  Return error on failures.
20770
20771 2008-08-18  Ben Pfaff  <blp@gnu.org>
20772
20773         gitlog-to-changelog: give better diagnostic for failed pipe-open
20774         * build-aux/gitlog-to-changelog: Improve error message: suggest
20775         that the version of Git may be too old.
20776
20777 2008-08-18  Simon Josefsson  <simon@josefsson.org>
20778
20779         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
20780         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
20781
20782 2008-08-18  Bruno Haible  <bruno@clisp.org>
20783
20784         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
20785         pthread_in_use().
20786
20787 2008-08-18  Bruno Haible  <bruno@clisp.org>
20788
20789         * lib/glthread/threadlib.c: Include <pthread.h>.
20790
20791 2008-08-18  Bruno Haible  <bruno@clisp.org>
20792
20793         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
20794         glthread_recursive_lock_* macros.
20795         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
20796         Fix syntax error.
20797
20798 2008-08-18  Bruno Haible  <bruno@clisp.org>
20799
20800         * lib/glthread/thread.c: Avoid forcing a context switch right after
20801         thread creation.
20802
20803 2008-08-17  Bruno Haible  <bruno@clisp.org>
20804
20805         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
20806         * lib/glthread/thread.h: Provide Win32 specific implementation.
20807         * modules/thread (Files): Add lib/glthread/thread.c.
20808         (Depends-on): Add lock.
20809         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
20810
20811 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20812
20813         New module 'yield'.
20814         * modules/yield: New file.
20815         * lib/glthread/yield.h: New file.
20816         * m4/yield.m4: New file.
20817         * MODULES.html.sh (Multithreading): Add yield.
20818
20819 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20820
20821         New module 'thread'.
20822         * modules/thread: New file.
20823         * lib/glthread/thread.h: New file.
20824         * m4/thread.m4: New file.
20825         * MODULES.html.sh (Multithreading): Add thread.
20826
20827 2008-08-17  Bruno Haible  <bruno@clisp.org>
20828
20829         * lib/glthread/lock.h: Include <stdlib.h> always.
20830         * lib/glthread/tls.h: Likewise.
20831         * lib/glthread/cond.h: Likewise.
20832
20833 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20834
20835         New module 'cond'.
20836         * modules/cond: New file.
20837         * lib/glthread/cond.h: New file.
20838         * lib/glthread/cond.c: New file.
20839         * m4/cond.m4: New file.
20840         * MODULES.html.sh (Multithreading): Add cond.
20841
20842 2008-08-16  Eric Blake  <ebb9@byu.net>
20843
20844         c-stack: fix regression on Irix 5.3 from 2008-06-21
20845         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
20846         sa_sigaction...
20847         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
20848         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
20849         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
20850         * modules/signal (Makefile.am): Use the value.
20851         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
20852         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
20853         * doc/posix-headers/signal.texi (signal.h): Document this
20854         portability issue.
20855         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
20856         Reported by Tom G. Christensen.
20857
20858 2008-08-17  Bruno Haible  <bruno@clisp.org>
20859
20860         New module 'threadlib'.
20861         * modules/threadlib: New file.
20862         * lib/glthread/threadlib.c: New file, extracted from
20863         lib/glthread/lock.c.
20864         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
20865         functions.
20866         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
20867         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
20868         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
20869         macros.
20870         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
20871         (gl_DISABLE_THREADS): Remove macro.
20872         * modules/lock (Files): Remove build-aux/config.rpath.
20873         (Depends-on): Remove havelib. Add threadlib.
20874         (configure.ac-early): Remove section.
20875         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
20876         * modules/tls (Depends-on): Remove lock. Add threadlib.
20877         (Link): New section, copied from threadlib.
20878         * MODULES.html.sh (Multithreading): Add threadlib.
20879
20880 2008-08-14  Bruno Haible  <bruno@clisp.org>
20881
20882         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
20883         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
20884         glthread_rwlock_unlock, glthread_rwlock_destroy,
20885         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
20886         glthread_recursive_lock_destroy): Define as macros always.
20887         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
20888         glthread_lock_lock.
20889         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
20890         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
20891         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
20892         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
20893         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
20894         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
20895         (glthread_recursive_lock_lock_func): Renamed from
20896         glthread_recursive_lock_lock.
20897         (glthread_recursive_lock_unlock_func): Renamed from
20898         glthread_recursive_lock_unlock.
20899         (glthread_recursive_lock_destroy_func): Renamed from
20900         glthread_recursive_lock_destroy.
20901
20902 2008-08-14  Bruno Haible  <bruno@clisp.org>
20903
20904         * lib/glthread/lock.h: Renamed from lib/lock.h.
20905         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
20906         * lib/glthread/tls.h: Renamed from lib/tls.h.
20907         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
20908         * lib/fstrcmp.c: Update includes.
20909         * lib/strsignal.c: Update includes.
20910         * modules/lock (Files, Makefile.am): Update.
20911         (Include): Change to "glthread/lock.h".
20912         * modules/tls (Files, Makefile.am): Update.
20913         (Include): Change to "glthread/tls.h".
20914         * tests/test-lock.c: Update includes.
20915         * tests/test-tls.c: Update includes.
20916         * NEWS: Mention the renamed header files.
20917
20918 2008-08-11  Jim Meyering  <meyering@redhat.com>
20919
20920         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
20921
20922 2008-08-11  Eric Blake  <ebb9@byu.net>
20923
20924         test-c-stack: avoid C99-ism
20925         * tests/test-c-stack.c (main): Fix whitespace, move declaration
20926         before statement.
20927         Reported by Alain Guibert.
20928
20929 2008-08-10  Jim Meyering  <meyering@redhat.com>
20930
20931         ensure that return value of uinttostr et al are not ignored
20932         * lib/inttostr.h (__GNUC_PREREQ): Define.
20933         (__attribute_warn_unused_result__): Define.
20934         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
20935
20936 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
20937
20938         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
20939         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
20940
20941 2008-08-07  Jim Meyering  <meyering@redhat.com>
20942
20943         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
20944
20945         * modules/mkstemp (License): Relicense under LGPLv2+.
20946         * modules/tempname (License): Likewise.
20947
20948 2008-08-06  Bruno Haible  <bruno@clisp.org>
20949
20950         * lib/poll.c (poll): Further micro-optimization.
20951
20952 2008-08-06  Jim Meyering  <meyering@redhat.com>
20953
20954         inet_pton.c: use locale-independent tolower
20955         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
20956         (inet_pton6): Use c_tolower rather than tolower.
20957         * modules/inet_pton (Depends-on): Add c-ctype.
20958
20959 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
20960
20961         * lib/poll.c (poll): Avoid division when timeout is 0, cache
20962         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
20963
20964 2008-08-06  Jim Meyering  <meyering@redhat.com>
20965
20966         * modules/inet_pton (License): Relicense under LGPLv2+.
20967
20968 2008-08-03  Bruno Haible  <bruno@clisp.org>
20969
20970         Additional non-aborting API for lock and tls.
20971         * lib/lock.h: Include <errno.h>.
20972         (glthread_lock_init): New macro/function.
20973         (gl_lock_init): Define as wrapper around glthread_lock_init.
20974         (glthread_lock_lock): New macro/function.
20975         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
20976         (glthread_lock_unlock): New macro/function.
20977         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
20978         (glthread_lock_destroy): New macro/function.
20979         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
20980         (glthread_rwlock_init): New macro/function.
20981         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
20982         (glthread_rwlock_rdlock): New macro/function.
20983         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
20984         (glthread_rwlock_wrlock): New macro/function.
20985         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
20986         (glthread_rwlock_unlock): New macro/function.
20987         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
20988         (glthread_rwlock_destroy): New macro/function.
20989         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
20990         (glthread_recursive_lock_init): New macro/function.
20991         (gl_recursive_lock_init): Define as wrapper around
20992         glthread_recursive_lock_init.
20993         (glthread_recursive_lock_lock): New macro/function.
20994         (gl_recursive_lock_lock): Define as wrapper around
20995         glthread_recursive_lock_lock.
20996         (glthread_recursive_lock_unlock): New macro/function.
20997         (gl_recursive_lock_unlock): Define as wrapper around
20998         glthread_recursive_lock_unlock.
20999         (glthread_recursive_lock_destroy): New macro/function.
21000         (gl_recursive_lock_destroy): Define as wrapper around
21001         glthread_recursive_lock_destroy.
21002         (glthread_once): New macro/function.
21003         (gl_once): Define as wrapper around glthread_once.
21004         Update function declarations.
21005         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
21006         glthread_rwlock_init. Return error code.
21007         (glthread_rwlock_rdlock_multithreaded): Renamed from
21008         glthread_rwlock_rdlock. Return error code.
21009         (glthread_rwlock_wrlock_multithreaded): Renamed from
21010         glthread_rwlock_wrlock. Return error code.
21011         (glthread_rwlock_unlock_multithreaded): Renamed from
21012         glthread_rwlock_unlock. Return error code.
21013         (glthread_rwlock_destroy_multithreaded): Renamed from
21014         glthread_rwlock_destroy. Return error code.
21015         (glthread_recursive_lock_init_multithreaded): Renamed from
21016         glthread_recursive_lock_init. Return error code.
21017         (glthread_recursive_lock_lock_multithreaded): Renamed from
21018         glthread_recursive_lock_lock. Return error code.
21019         (glthread_recursive_lock_unlock_multithreaded): Renamed from
21020         glthread_recursive_lock_unlock. Return error code.
21021         (glthread_recursive_lock_destroy_multithreaded): Renamed from
21022         glthread_recursive_lock_destroy. Return error code.
21023         (glthread_once_call): Make static.
21024         (glthread_once_multithreaded): Renamed from glthread_once.
21025         * lib/tls.h: Include <errno.h>.
21026         (glthread_tls_key_init): New macro/function.
21027         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
21028         (glthread_tls_set): New macro/function.
21029         (gl_tls_set): Define as wrapper around glthread_tls_set.
21030         (glthread_tls_key_destroy): New macro/function.
21031         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
21032         Update function declarations.
21033         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
21034         glthread_tls_get.
21035         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21036
21037 2008-08-04  Eric Blake  <ebb9@byu.net>
21038
21039         gnumakefile: use space, not TAB, outside of targets
21040         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
21041
21042 2008-08-02  Jim Meyering  <meyering@redhat.com>
21043
21044         getdate.y: avoid locale-dependent date parsing failure
21045         In Turkish locales, getdate would fail to recognize keywords
21046         containing a lowercase "i".  The solution is not to rely on
21047         locale-sensitive case-conversion.
21048         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
21049         (lookup_word): Use c_toupper in place of toupper.
21050         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
21051         Reported by Vefa Bicakci <bicave@superonline.com> in
21052         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
21053         * modules/getdate (Depends-on): Add c-ctype.
21054
21055 2008-08-02  Bruno Haible  <bruno@clisp.org>
21056
21057         * gnulib-tool (func_import): When updating or creating a .gitignore
21058         file, prepend each added line with a slash, and ignore leading slashes
21059         from the existing lines.
21060         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
21061
21062 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21063
21064         Portability fix for GNU make 3.79.1.
21065         * top/GNUmakefile: Avoid 'else COND', which older GNU make
21066         versions do not understand.
21067
21068 2008-08-01  Bruno Haible  <bruno@clisp.org>
21069
21070         Work around bug of HP-UX 10.20 cc with -0.0 literal.
21071         * tests/test-isnanf.h (zero): New variable.
21072         (main): Avoid literal -0.0f.
21073         * tests/test-isnand.h (zero): New variable.
21074         (main): Avoid literal -0.0.
21075         * tests/test-isnanl.h (zero): New variable.
21076         (main): Avoid literal -0.0L.
21077         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
21078         (test_float, test_double, test_long_double): Avoid literals -0.0f,
21079         -0.0, -0.0L.
21080         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
21081         (test_signbitd): Avoid literal -0.0.
21082         (test_signbitl): Avoid literal -0.0L.
21083         * tests/test-ceilf1.c (zero): New variable.
21084         (main): Avoid literal -0.0f.
21085         * tests/test-ceill.c (zero): New variable.
21086         (main): Avoid literal -0.0L.
21087         * tests/test-floorf1.c (zero): New variable.
21088         (main): Avoid literal -0.0f.
21089         * tests/test-floorl.c (zero): New variable.
21090         (main): Avoid literal -0.0L.
21091         * tests/test-roundf1.c (zero): New variable.
21092         (main): Avoid literal -0.0f.
21093         * tests/test-round1.c (zero): New variable.
21094         (main): Avoid literal -0.0.
21095         * tests/test-roundl.c (zero): New variable.
21096         (main): Avoid literal -0.0L.
21097         * tests/test-truncf1.c (zero): New variable.
21098         (main): Avoid literal -0.0f.
21099         * tests/test-trunc1.c (zero): New variable.
21100         (main): Avoid literal -0.0.
21101         * tests/test-truncl.c (zero): New variable.
21102         (main): Avoid literal -0.0L.
21103         * tests/test-frexp.c (zero): New variable.
21104         (main): Avoid literal -0.0.
21105         * tests/test-frexpl.c (zero): New variable.
21106         (main): Avoid literal -0.0L.
21107         * tests/test-ldexpl.c (zero): New variable.
21108         (main): Avoid literal -0.0L.
21109         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
21110         (zerod, zerol): New variables.
21111         (test_function): Avoid literals -0.0, -0.0L.
21112         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
21113         (zerod, zerol): New variables.
21114         (test_function): Avoid literals -0.0, -0.0L.
21115         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
21116         (zerod, zerol): New variables.
21117         (test_function): Avoid literals -0.0, -0.0L.
21118         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
21119         (zerod, zerol): New variables.
21120         (test_function): Avoid literals -0.0, -0.0L.
21121         * tests/test-strtod.c (zero): New variable.
21122         (main): Avoid literal -0.0.
21123         Reported by Jonathan C. Patschke <jp@centtech.com>.
21124
21125 2008-07-31  Jim Meyering  <meyering@redhat.com>
21126
21127         sha256.h: correct definition of SHA224_DIGEST_SIZE
21128         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
21129         Reported by Paulie Pena IV <paulie4@gmail.com>.
21130         Define as 224 / 8, rather than as a literal.
21131         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
21132         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
21133         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
21134
21135 2008-07-31  Bruno Haible  <bruno@clisp.org>
21136
21137         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
21138         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
21139         Reported by Jonathan Patschke <jp@centtech.com>.
21140
21141 2008-07-31  Bruno Haible  <bruno@clisp.org>
21142
21143         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
21144         Reported by Paolo Bonzini <bonzini@gnu.org>.
21145
21146 2008-07-30  Eric Blake  <ebb9@byu.net>
21147
21148         test-strtod: allow compilation without -lm
21149         * tests/test-strtod.c (main): Avoid link dependence on fabs.
21150         Reported by Dennis Clarke <blastwave@gmail.com>.
21151
21152 2008-07-28  Jim Meyering  <meyering@redhat.com>
21153
21154         bootstrap: work also when there are no .po files in po/
21155         * build-aux/bootstrap (update_po_files): Complete the change
21156         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
21157
21158 2008-07-27  Jim Meyering  <meyering@redhat.com>
21159
21160         * users.txt: Add zile.
21161
21162 2008-07-26  Ben Pfaff  <blp@gnu.org>
21163
21164         Add missing dependencies on new m4/exponent[fdl].m4 files.
21165         * modules/isnanf-nolibm: Add m4/exponentf.m4.
21166         * modules/isnand-nolibm: Add m4/exponentd.m4.
21167         * modules/isnanl-nolibm: Add m4/exponentl.m4.
21168         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
21169         m4/isnan[fdl].m4, because the macros actually used moved.
21170         Reported by Jim Meyering.
21171
21172 2008-07-14  Ben Pfaff  <blp@gnu.org>
21173
21174         Add isinf module.
21175         * lib/isinf.c: New file.
21176         * lib/math.in.h: Define isinf macro if we have decided to replace
21177         it.
21178         * m4/isinf.m4: New file.
21179         * m4/math_h.m4: Initialize and substitute variables for isinf
21180         module.
21181         * modules/isinf: New file.
21182         * modules/isinf-tests: New file.
21183         * modules/math: Add substitutions for new module.
21184         * tests/test-isinf.c: New file.
21185         * doc/posix-functions/isinf.texi: Mention new module.
21186         * MODULES.html.sh: Mention new module.
21187
21188 2008-07-14  Ben Pfaff  <blp@gnu.org>
21189
21190         Factor out some macros for use by additional modules.
21191         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
21192         exponentf.m4.
21193         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
21194         exponentd.m4.
21195         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
21196         file exponentl.m4.
21197         * m4/exponentf.m4: New file.
21198         * m4/exponentd.m4: New file.
21199         * m4/exponentl.m4: New file.
21200         * modules/isnanf: Use new file m4/exponentf.m4.
21201         * modules/isnand: Use new file m4/exponentd.m4.
21202         * modules/isnanl: Use new file m4/exponentl.m4.
21203
21204 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
21205
21206         mktime.c: normalize tp->tm_isdst value to -1/0/1.
21207         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
21208         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
21209         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
21210
21211         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
21212         readlink on platforms without PATH_MAX.
21213
21214 2008-07-21  Eric Blake  <ebb9@byu.net>
21215
21216         Warn, not fail, on stale version.
21217         * top/GNUmakefile (_curr-ver): Tone down previous patch.
21218
21219         Don't allow installation with stale devel version number.
21220         * top/GNUmakefile (_is-install-target): New macro.
21221         (_curr-ver): Forbid installation with stale version number.
21222
21223 2008-07-20  Bruno Haible  <bruno@clisp.org>
21224
21225         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
21226         TESTS_ENVIRONMENT.
21227         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
21228
21229 2008-07-20  Bruno Haible  <bruno@clisp.org>
21230
21231         * lib/c-stack.h (c_stack_action): Add documentation.
21232         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
21233
21234 2008-07-20  Bruno Haible  <bruno@clisp.org>
21235
21236         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
21237         * modules/readlink (License): Likewise.
21238
21239 2008-07-17  Eric Blake  <ebb9@byu.net>
21240
21241         * modules/c-stack (Link): Fix typo.
21242
21243         Make c-stack use libsigsegv, when available.
21244         * modules/c-stack (Depends-on): Add libsigsegv.
21245         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
21246         needed.
21247         * lib/c-stack.c (SIGSTKSZ): Define fallback.
21248         (segv_handler, overflow_handler, c_stack_action)
21249         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
21250         implementation when libsigsegv is available, but only when using
21251         the library is necessary.
21252         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
21253         comment, explaining why XSI check fails on Linux.
21254         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
21255         * tests/test-c-stack2.sh: Tweak skip message.
21256         * NEWS: Document new link-time requirements.
21257
21258 2008-07-16  Eric Blake  <ebb9@byu.net>
21259
21260         c-stack: Expose false positives when not using libsigsegv.
21261         * modules/c-stack-tests (Files): Expand test.
21262         * tests/test-c-stack.c (main): Add means to conditionally trigger
21263         non-overflow SIGSEGV.
21264         * tests/test-c-stack2.sh: New file.
21265
21266 2008-07-14  Bruno Haible  <bruno@clisp.org>
21267
21268         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
21269         Reported by Eric Blake.
21270
21271 2008-07-14  Sam Steingold  <sds@gnu.org>
21272             Bruno Haible  <bruno@clisp.org>
21273
21274         New module libsigsegv.
21275         * modules/libsigsegv: New file.
21276         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
21277         modifications.
21278         * MODULES.html.sh (Signal handling): New section.
21279
21280 2008-07-14  Bruno Haible  <bruno@clisp.org>
21281
21282         * modules/unictype/ctype-* (Description): Add the word "function".
21283         Improves the resulting doc in MODULES.html.
21284
21285 2008-07-12  Ben Pfaff  <blp@gnu.org>
21286
21287         Add longlong module.
21288         * modules/longlong: New file.
21289
21290 2008-07-12  Bruno Haible  <bruno@clisp.org>
21291
21292         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
21293         to empty.
21294
21295 2008-07-10  Ben Pfaff  <blp@gnu.org>
21296
21297         Add isnan module.
21298         * doc/posix-functions/isnan.texi: Mention new module.
21299         * lib/math.in.h: Define isnan macro if we have decided to replace
21300         it.
21301         * m4/isnan.m4: New file.
21302         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
21303         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
21304         also.
21305         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
21306         redundancy.
21307         * m4/math_h.m4: Initialize and substitute variables for isnan
21308         module.
21309         * modules/isnan: New file.
21310         * modules/isnan-tests: New file.
21311         * modules/math: Add substitutions for new module.
21312         * tests/test-isnan.c: New file.
21313         * MODULES.html.sh: Mention new module.
21314
21315 2008-07-10  Ben Pfaff  <blp@gnu.org>
21316
21317         Add isnanf module.
21318         * lib/isnanf.m4: New file.
21319         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
21320         (gl_HAVE_ISNANF_IN_LIBM): New macro.
21321         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
21322         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
21323         * modules/isnanf: New file.
21324         * modules/isnanf-tests: New file.
21325         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
21326         files.
21327         * tests/test-isnanf-nolibm.c: factored most of its contents into
21328         new file tests/test-isnanf.h.
21329         * tests/test-isnanf.h: New file.
21330         * tests/test-isnanf.c: New file.
21331         * MODULES.html.sh: Mention new module.
21332         * doc/glibc-functions/isnanf.texi: Mention new module.
21333
21334 2008-07-10  Ben Pfaff  <blp@gnu.org>
21335
21336         Add isnand module.
21337         * lib/isnand.h: New file.
21338         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
21339         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
21340         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
21341         functionality also.
21342         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
21343         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
21344         (gl_HAVE_ISNAND_IN_LIBM): New macro.
21345         * modules/isnand: New file.
21346         * modules/isnand-tests: New file.
21347         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
21348         files.
21349         * tests/test-isnand-nolibm.c: factored most of its contents into
21350         new file tests/test-isnand.h.
21351         * tests/test-isnand.h: New file.
21352         * tests/test-isnand.c: New file.
21353         * MODULES.html.sh: Mention new module.
21354
21355 2008-07-10  Ben Pfaff  <blp@gnu.org>
21356
21357         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
21358         * lib/isnand.h: Rename lib/isnand-nolibm.h.
21359         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
21360         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
21361         * modules/isnanf-nolibm: Update references to renamed files.
21362         * modules/isnand-nolibm: Likewise.
21363         * modules/isnanf-nolibm-tests: Likewise.
21364         * modules/isnand-nolibm-tests: Likewise.
21365         * lib/frexp.c: Likewise.
21366         * lib/isfinite.c: Likewise.
21367         * lib/signbitd.c: Likewise.
21368         * lib/signbitf.c: Likewise.
21369         * lib/vasnprintf.c: Likewise.
21370         * tests/test-ceilf1.c: Likewise.
21371         * tests/test-ceilf2.c: Likewise.
21372         * tests/test-floorf1.c: Likewise.
21373         * tests/test-floorf2.c: Likewise.
21374         * tests/test-frexp.c: Likewise.
21375         * tests/test-round1.c: Likewise.
21376         * tests/test-round2.c: Likewise.
21377         * tests/test-roundf1.c: Likewise.
21378         * tests/test-strtod.c: Likewise.
21379         * tests/test-trunc1.c: Likewise.
21380         * tests/test-trunc2.c: Likewise.
21381         * tests/test-truncf1.c: Likewise.
21382         * tests/test-truncf2.c: Likewise.
21383         * NEWS: Mention the renamed header files.
21384
21385 2008-07-11  Jim Meyering  <meyering@redhat.com>
21386
21387         vc-list-files: make the last-resort awk code more portable
21388         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
21389         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
21390         does not support it.
21391
21392 2008-07-10  Eric Blake  <ebb9@byu.net>
21393
21394         Work with tar's bootstrap.
21395         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
21396         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
21397         an m4 comment.
21398
21399 2008-07-09  Jim Meyering  <meyering@redhat.com>
21400
21401         posix-shell.m4: fix typo that made this test malfunction
21402         * m4/posix-shell.m4: Remove capitalization in variable name.
21403
21404 2008-07-08  Bruno Haible  <bruno@clisp.org>
21405
21406         * m4/onceonly.m4: Update comments.
21407         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21408
21409 2008-07-04  Jim Meyering  <meyering@redhat.com>
21410
21411         * users.txt: Add vc-dwim.
21412         (bison, coreutils): Use the gitweb URL.
21413
21414 2008-07-03  Jim Meyering  <meyering@redhat.com>
21415
21416         * users.txt: Add libffcall.  From Sam Steingold.
21417
21418 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
21419
21420         getdate.y: do not ignore TZ with relative day, month or year offset
21421         * lib/getdate.y (get_date): Move the tz-handling block to follow the
21422         relative-date-handling, since otherwise, the latter would clobber the
21423         sole output (an updated Start value) of the tz-handling block.
21424         * tests/test-getdate.c: Tests for the fix
21425
21426 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21427
21428         Recognize 'foo_LIBRARIES += libgnu.a'.
21429         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
21430         makefile snippet has already specified an installation location,
21431         also using '+='.
21432
21433 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
21434
21435         getdate.y: factor out common actions
21436         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
21437         Use them in place of open-coded actions.
21438
21439 2008-07-01  Simon Josefsson  <simon@josefsson.org>
21440
21441         Add self-test for getdate module.
21442         * modules/getdate-tests: New file.
21443         * tests/test-getdate.c: New file.
21444
21445 2008-06-29  Bruno Haible  <bruno@clisp.org>
21446
21447         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
21448         .gitignore.
21449         Reported by Sylvain Beucler <beuc@beuc.net>.
21450
21451 2008-06-29  Bruno Haible  <bruno@clisp.org>
21452
21453         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
21454         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
21455
21456 2008-06-29  Bruno Haible  <bruno@clisp.org>
21457
21458         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
21459         EXTRA_DIST.
21460         Reported by Sylvain Beucler <beuc@beuc.net>.
21461
21462 2008-06-26  Jim Meyering  <meyering@redhat.com>
21463
21464         make several modules depend on the "open" module
21465         This provides slightly increased consistency when opening-for-write
21466         the name of a non-directory spelled with a trailing slash.
21467         * modules/chdir-safer: Likewise.
21468         * modules/chown: Likewise.
21469         * modules/clean-temp: Likewise.
21470         * modules/copy-file: Likewise.
21471         * modules/fchdir: Likewise.
21472         * modules/fcntl-safer: Likewise.
21473         * modules/pipe: Likewise.
21474         * modules/utime: Likewise.
21475         Prompted by Eric Blake and Bruno Haible.
21476
21477 2008-06-24  Andreas Schwab  <schwab@suse.de>
21478
21479         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
21480         literals can be used as initializers for global variables.
21481
21482 2008-06-23  Eric Blake  <ebb9@byu.net>
21483
21484         Make gnulib-cache.m4 easier to diff.
21485         * gnulib-tool (func_import): Allow newlines when reading cached
21486         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
21487
21488 2008-06-23  Bruno Haible  <bruno@clisp.org>
21489
21490         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
21491         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
21492         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
21493         m4/signalblocking.m4.
21494         (gl_PREREQ_SIGACTION): Don't invoke it.
21495         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
21496         gl_PREREQ_SIG_HANDLER_H.
21497         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21498         Don't check for sigaction here.
21499
21500 2008-06-23  Bruno Haible  <bruno@clisp.org>
21501
21502         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
21503         (install_handlers): Don't set the SA_RESETHAND flag.
21504
21505 2008-06-23  Bruno Haible  <bruno@clisp.org>
21506
21507         * m4/sigaction.m4: Comment fixes.
21508         * lib/signal.in.h: Likewise.
21509
21510 2008-06-23  Eric Blake  <ebb9@byu.net>
21511
21512         Fix typo.
21513         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
21514
21515         Avoid SA_ namespace.
21516         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
21517         Reported by Ralf Wildenhues.
21518
21519         Avoid test failure due to SA_RESTORER.
21520         * tests/test-sigaction.c (SA_MASK): New macro.
21521         (main): Avoid failing due to extension flags being set.
21522         Reported by Jim Meyering.
21523
21524         Revert use of sig-handler.h in sigprocmask.c.
21525         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
21526         it requires the existence of struct sigaction.
21527         * lib/sigprocmask.c (handler_t): Restore typedef.
21528         (rpl_signal, old_handlers): Use local type.
21529
21530 2008-06-22  Bruno Haible  <bruno@clisp.org>
21531
21532         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
21533         conditionally.
21534         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21535
21536 2008-06-22  Bruno Haible  <bruno@clisp.org>
21537
21538         * doc/posix-functions/siginterrupt.texi: Move note.
21539
21540         * lib/signal.in.h (SA_RESTART): New macro.
21541         * lib/sigaction.c: Update comment.
21542
21543         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
21544
21545         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
21546         (gl_PREREQ_SIGPROCMASK): Invoke it.
21547         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
21548
21549         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
21550
21551         * lib/sigprocmask.c: Update a comment.
21552
21553 2008-06-21  Eric Blake  <ebb9@byu.net>
21554
21555         Use sigaction module rather than signal().
21556         * modules/c-stack (Depends-on): Add sigaction.
21557         * modules/fatal-signal (Depends-on): Likewise.
21558         * modules/nanosleep (Depends-on): Likewise.
21559         * modules/sigprocmask (Files): Add sig-handler.h.
21560         * modules/sigaction (Files): Likewise.
21561         * lib/sig-handler.h (get_handler): New file, suggested by Paul
21562         Eggert.
21563         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
21564         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
21565         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
21566         (init_fatal_signals): Likewise.
21567         * lib/nanosleep.c (rpl_nanosleep): Likewise.
21568         (siginterrupt): Delete fallback.
21569         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
21570         instead.
21571         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
21572         siginterrupt.
21573
21574         New module sigaction, for mingw.
21575         * modules/sigaction: New module...
21576         * modules/sigaction-tests: ...and its test.
21577         * m4/sigaction.m4: New file.
21578         * lib/sigaction.c: Likewise.
21579         * tests/test-sigaction.c: Likewise.
21580         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
21581         * modules/signal (Makefile.am): Likewise.
21582         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
21583         needed.
21584         * doc/posix-headers/signal.texi (signal.h): Mention provided
21585         types.
21586         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
21587         that sigaction is preferable.
21588         * doc/posix-functions/sigaction.texi (sigaction): Mention new
21589         module.
21590         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21591         sigaction.
21592
21593         Improve robustness of sigprocmask by overriding signal.
21594         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
21595         is in use.
21596         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
21597         (SIGKILL, SIGSTOP): Provide fallbacks.
21598         (rpl_signal): Implement.
21599         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
21600         signal can be called inside handlers.
21601
21602         Fix nanosleep module on mingw.
21603         * modules/nanosleep (Depends-on): Add sys_select.
21604         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
21605
21606         Fix licensing of sigprocmask.
21607         * modules/raise (License): Relicense as LGPL.
21608
21609 2008-06-21  Bruno Haible  <bruno@clisp.org>
21610
21611         * lib/propername.c (proper_name_utf8): Don't use the transliterated
21612         result if it contains question marks.
21613         Reported by Michael Geng <linux@michaelgeng.de>.
21614
21615 2008-06-19  Bruno Haible  <bruno@clisp.org>
21616
21617         Fix CVS-ism.
21618         * doc/gnulib.texi: Include updated-stamp.texi.
21619         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
21620         (updated-stamp.texi): New rule.
21621         (gnulib.info): Depend on it.
21622         * doc/.gitignore: Add updated-stamp.texi.
21623         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
21624
21625 2008-06-19  Bruno Haible  <bruno@clisp.org>
21626
21627         * doc/Makefile (gnulib.info): Update and simplify dependencies.
21628         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21629
21630 2008-06-19  Eric Blake  <ebb9@byu.net>
21631
21632         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
21633         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
21634         Reported by Stepan Kasal.
21635
21636 2008-06-18  Bruno Haible  <bruno@clisp.org>
21637
21638         * lib/fatal-signal.c (init_fatal_signals): Add comment.
21639         Reported by Eric Blake.
21640
21641 2008-06-18  Eric Blake  <ebb9@byu.net>
21642
21643         Work around cygwin 1.5.25 strsignal bug.
21644         * tests/test-strsignal.c: Allow for const char *.
21645         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
21646
21647 2008-06-18  Simon Josefsson  <simon@josefsson.org>
21648
21649         * users.txt: Update URL to article and add author/date
21650         information.
21651
21652 2008-06-17  Bruno Haible  <bruno@clisp.org>
21653
21654         New macro gl_DISABLE_THREADS.
21655         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
21656         if the user did not pass --enable-threads or --disable-threads option.
21657         (gl_DISABLE_THREADS): New macro.
21658         Reported by Eric Blake <ebb9@byu.net>.
21659
21660 2008-06-17  Bruno Haible  <bruno@clisp.org>
21661
21662         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
21663         when the macro ignores it.
21664         Based on a patch by Eric Blake <ebb9@byu.net>.
21665
21666 2008-06-17  Bruno Haible  <bruno@clisp.org>
21667
21668         * modules/tls (License): Change to LGPLv2+.
21669         Reported by Eric Blake.
21670
21671 2008-06-17  Eric Blake  <ebb9@byu.net>
21672
21673         Simplify c-stack prerequisites.
21674         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
21675         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
21676         no longer requires <ucontext.h> to exist.  Optimize setrlimit
21677         check.
21678         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
21679         <sys/resource.h>.
21680
21681         Move c-stack test into testsuite.
21682         * modules/c-stack-tests: New file.
21683         * lib/c-stack.c [DEBUG]: Move test program...
21684         * tests/test-c-stack.c: ...into this new file.  Skip rather than
21685         fail test if sigaltstack is lacking.
21686         * tests/test-c-stack.sh: New driver file.
21687
21688 2008-06-16  Eric Blake  <ebb9@byu.net>
21689
21690         Use raise module consistently.
21691         * modules/fatal-signal (Depends-on): Add raise.
21692         * modules/sigprocmask (Depends-on): Likewise.
21693         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
21694         * lib/sigprocmask.c (sigprocmask): Likewise.
21695         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21696         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
21697
21698         Fix compliance bug in sigpending.
21699         * lib/sigprocmask.c (sigpending): Return pending array via
21700         parameter, not return value.
21701
21702 2008-06-14  Eric Blake  <ebb9@byu.net>
21703
21704         Improve obstack-printf test code.
21705         * tests/test-obstack-printf.c (test_function): Fix comment, and
21706         simplify usage of obstack_* in macros.  Add a test for coverage.
21707         Reported by Bruno Haible.
21708
21709 2008-06-14  Bruno Haible  <bruno@clisp.org>
21710
21711         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
21712         array size as a constant, not as a const variable.
21713         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
21714         AC_USE_SYSTEM_EXTENSIONS.
21715         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
21716         Test whether the obstack_printf function actually exists.
21717         * modules/obstack-printf (Depends-on): Add extensions.
21718         (Include): Remove obstack.h.
21719         * modules/obstack-printf-posix (Depends-on): Add extensions.
21720         (Include): Remove obstack.h.
21721
21722 2008-06-13  Eric Blake  <ebb9@byu.net>
21723
21724         Add obstack-printf and obstack-printf-posix modules.
21725         * modules/obstack-printf: New file.
21726         * modules/obstack-printf-posix: Likewise.
21727         * MODULES.html.sh (Misc): Mention them.
21728         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
21729         Likewise.
21730         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
21731         Likewise.
21732         * modules/stdio (Makefile.am): Accomodate new modules.
21733         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
21734         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
21735         Declare.
21736         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
21737         functions.
21738         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
21739         (gl_REPLACE_OBSTACK_PRINTF): New macros
21740         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
21741         * tests/test-obstack-printf.c: New file.
21742         * modules/obstack-printf-tests: Likewise.
21743         * modules/obstack-printf-posix-tests: Likewise.
21744
21745 2008-06-11  Bruno Haible  <bruno@clisp.org>
21746
21747         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
21748         * lib/open.c: Include errno.h.
21749         (open): Fail when attempting to write to a file that has a trailing
21750         slash.
21751         * tests/test-open.c (main): Test against trailing slash bug.
21752         * doc/posix-functions/open.texi: Mention the trailing slash bug.
21753
21754 2008-06-10  Bruno Haible  <bruno@clisp.org>
21755
21756         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
21757         for $? to work inside the trap command, with various /bin/sh-s.
21758         * tests/test-vc-list-files-cvs.sh: Likewise.
21759
21760 2008-06-10  Bruno Haible  <bruno@clisp.org>
21761
21762         * lib/acl-internal.h: Don't include gettext.h here.
21763         * lib/set-mode-acl.c: Include gettext.h here.
21764         * lib/copy-acl.c: Likewise.
21765
21766 2008-06-10  Bruno Haible  <bruno@clisp.org>
21767
21768         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
21769         * lib/wait-process.c (wait_subprocess): Likewise.
21770         * lib/execute.h (execute): Add termsigp argument.
21771         * lib/execute.c (execute): Likewise.
21772         * lib/csharpcomp.c (compile_csharp_using_pnet,
21773         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
21774         * lib/csharpexec.c (execute_csharp_using_pnet,
21775         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
21776         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
21777         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
21778         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
21779         is_jikes_present): Update.
21780         * lib/javaexec.c (execute_java_class): Update.
21781         * lib/javaversion.c (execute_and_read_line): Update.
21782         * NEWS: Document the changes.
21783         Reported by Eric Blake.
21784
21785 2008-06-10  Eric Blake  <ebb9@byu.net>
21786
21787         Add missing include.
21788         * tests/test-strstr.c (includes): Add <signal.h>.
21789         * tests/test-strcasestr.c (includes): Likewise.
21790         * tests/test-memmem.c (includes): Likewise.
21791
21792 2008-06-10  Bruno Haible  <bruno@clisp.org>
21793
21794         * lib/wait-process.c (wait_subprocess): Add an assertion.
21795
21796 2008-06-10  Bruno Haible  <bruno@clisp.org>
21797
21798         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
21799
21800 2008-06-10  Bruno Haible  <bruno@clisp.org>
21801
21802         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
21803         using alarm().
21804         * tests/test-strcasestr.c (main): Likewise.
21805         * tests/test-strstr.c (main): Likewise.
21806
21807 2008-06-09  Bruno Haible  <bruno@clisp.org>
21808
21809         Work around the Solaris 10 ACE ACLs ABI change.
21810         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
21811         declare if ACL_NO_TRIVIAL is present.
21812         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
21813         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
21814         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
21815         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
21816         define if ACL_NO_TRIVIAL is present.
21817         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
21818         and use the current ABI.
21819         (file_has_acl): Use same #if condition as elsewhere.
21820         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
21821         in use, and use the current ABI.
21822         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
21823         Reported by Jim Meyering.
21824
21825 2008-06-09  Eric Blake  <ebb9@byu.net>
21826
21827         Work around environments that (stupidly) ignore SIGALRM.
21828         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
21829         before using alarm().
21830         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21831         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21832         Reported by Ian Beckwith <ianb@erislabs.net>.
21833
21834         Produce autobuild blurb earlier in log.
21835         * modules/autobuild (configure.ac-early): Move AB_INIT here.
21836
21837 2008-06-09  Jim Meyering  <meyering@redhat.com>
21838         and Ondřej Vašík  <ovasik@redhat.com>
21839
21840         utimens.c: correct kernel bug work-around
21841         Ondřej Vašík found that the invalid return value of 280 indicates
21842         failure, not success, and the kernel bug we're trying to work
21843         around affects not just the utimensat call, but also the fallback
21844         futimens call.
21845         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
21846         not success.
21847         [HAVE_FUTIMENS]: Use the same work-around, here.
21848
21849 2008-06-09  Jim Meyering  <meyering@redhat.com>
21850
21851         add more guards around definition of ACE_-related code
21852         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
21853         ALLOW and ACE_OWNER are also defined.
21854
21855 2008-06-08  Bruno Haible  <bruno@clisp.org>
21856
21857         * lib/acl-internal.h: Add me as co-author.
21858         * lib/file-has-acl.c: Likewise.
21859         * lib/set-mode-acl.c: Likewise.
21860         * lib/copy-acl.c: Likewise.
21861
21862 2008-06-08  Bruno Haible  <bruno@clisp.org>
21863
21864         Add support for AIX ACLs.
21865         * lib/acl-internal.h (acl_nontrivial): New declaration.
21866         * lib/file-has-acl.c (acl_nontrivial): New function.
21867         (file_has_acl): Add implementation using AIX 4 ACL API.
21868         * lib/set-mode-acl.c (qset_acl): Likewise.
21869         * lib/copy-acl.c (qcopy_acl): Likewise.
21870
21871 2008-06-08  Bruno Haible  <bruno@clisp.org>
21872
21873         Add support for HP-UX ACLs.
21874         * lib/acl-internal.h (acl_nontrivial): New declaration.
21875         * lib/file-has-acl.c (acl_nontrivial): New function.
21876         (file_has_acl): Add implementation using HP-UX 11 ACL API.
21877         * lib/set-mode-acl.c (qset_acl): Likewise.
21878         * lib/copy-acl.c (qcopy_acl): Likewise.
21879
21880 2008-06-08  Bruno Haible  <bruno@clisp.org>
21881
21882         Add support for Cygwin ACLs.
21883         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
21884         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
21885         the chmod_or_fchmod call.
21886         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
21887
21888 2008-06-08  Bruno Haible  <bruno@clisp.org>
21889
21890         Fix bug with setuid modes in Solaris 10+ code.
21891         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
21892         succeeded, when the mode contains some special bits.
21893
21894 2008-06-08  Bruno Haible  <bruno@clisp.org>
21895
21896         Add support for Solaris 7..10 ACLs.
21897         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
21898         declarations.
21899         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
21900         functions.
21901         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
21902         * lib/set-mode-acl.c (qset_acl): Likewise.
21903         * lib/copy-acl.c (qcopy_acl): Likewise.
21904
21905 2008-06-08  Bruno Haible  <bruno@clisp.org>
21906
21907         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
21908         declaration.
21909         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
21910         (acl_access_nontrivial): Remove MacOS X case.
21911         (file_has_acl): Use acl_extended_nontrivial.
21912         * lib/copy-acl.c (qcopy_acl): Likewise.
21913
21914 2008-06-08  Bruno Haible  <bruno@clisp.org>
21915
21916         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
21917
21918 2008-06-08  Jim Meyering  <meyering@redhat.com>
21919
21920         * modules/acl (Maintainer): Add Bruno Haible.
21921
21922 2008-06-07  Bruno Haible  <bruno@clisp.org>
21923
21924         Improve support for Tru64 ACLs.
21925         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
21926         ACL on OSF/1.
21927
21928 2008-06-07  Bruno Haible  <bruno@clisp.org>
21929
21930         Add support for MacOS X ACLs.
21931         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
21932         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
21933         * lib/set-mode-acl.c (qset_acl): Likewise.
21934         * lib/copy-acl.c (qcopy_acl): Likewise.
21935
21936 2008-06-07  Bruno Haible  <bruno@clisp.org>
21937
21938         Fix memory leak introduced on 2008-05-22.
21939         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
21940         use.
21941
21942 2008-06-07  Bruno Haible  <bruno@clisp.org>
21943
21944         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
21945         to construct an empty ACL.
21946
21947 2008-06-07  Bruno Haible  <bruno@clisp.org>
21948
21949         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
21950         precisely.
21951         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
21952
21953 2008-06-07  Bruno Haible  <bruno@clisp.org>
21954
21955         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
21956         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
21957
21958 2008-06-07  Bruno Haible  <bruno@clisp.org>
21959
21960         * doc/posix-functions/_setjmp.texi: Explain the use of this function
21961         regardless of POSIX.
21962         * doc/posix-functions/_longjmp.texi: Likewise.
21963         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
21964         SystemV platform in this case.
21965
21966 2008-06-06  Eric Blake  <ebb9@byu.net>
21967
21968         Document abort() bugs.
21969         * doc/posix-functions/abort.texi (abort): Mention anomalies.
21970
21971         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
21972         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
21973         sigsetjmp.
21974         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
21975         siglongjmp, but only as a macro.
21976         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
21977         is obsolete.
21978         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
21979
21980         Tweak documentation to cover cygwin argz bugs.
21981         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
21982         argz bug fix; no code change needed since no cygwin releases
21983         occurred between the last fix and the bug being tested.
21984         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
21985         module and recently fixed cygwin bugs.
21986         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
21987         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
21988         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
21989         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
21990         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
21991         Likewise.
21992         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
21993         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
21994         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
21995         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
21996         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
21997         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
21998         Likewise.
21999
22000         Avoid gcc warning on cygwin.
22001         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
22002         !ACL_NO_TRIVIAL]: Avoid unused variable.
22003
22004 2008-06-05  Eric Blake  <ebb9@byu.net>
22005
22006         Be tolerant of UNKNOWN version in gnulib-tool test dir.
22007         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
22008         git-version-gen fails to come up with a version.
22009         Reported by Simon Josefsson.
22010
22011 2008-06-05  Jim Meyering  <meyering@redhat.com>
22012             Paul Eggert  <eggert@cs.ucla.edu>
22013
22014         utimens.c: work around a probable Linux kernel bug
22015         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
22016         appears to be a kernel bug that causes utimensat to return 280
22017         instead of 0, indicating success.
22018
22019 2008-06-04  Bruno Haible  <bruno@clisp.org>
22020
22021         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
22022         2008-06-01 commit.
22023
22024 2008-06-04  Bruno Haible  <bruno@clisp.org>
22025
22026         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
22027         * lib/file-has-acl.c (acl_access_nontrivial): New function.
22028         (file_has_acl): Use it. Save errno afterwards.
22029         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
22030
22031 2008-06-03  Bruno Haible  <bruno@clisp.org>
22032
22033         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
22034         draft code. Simplify #ifs.
22035         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
22036         Put Solaris code after POSIX-draft code. Fix comments regarding
22037         Solaris 10, HP-UX. Mention Cygwin.
22038         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
22039
22040 2008-06-03  Eric Blake  <ebb9@byu.net>
22041
22042         Provide fallback for older kernels.
22043         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
22044         Provide runtime fallback if kernel lacks support.
22045         Reported by Mike Frysinger.
22046
22047 2008-06-02  Bruno Haible  <bruno@clisp.org>
22048
22049         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
22050         it exists.
22051
22052 2008-06-02  Bruno Haible  <bruno@clisp.org>
22053
22054         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
22055         * lib/copy-acl.c (qcopy_acl): Update comment.
22056
22057 2008-06-02  Bruno Haible  <bruno@clisp.org>
22058
22059         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
22060         like ACL APIs.
22061
22062 2008-06-02  Bruno Haible  <bruno@clisp.org>
22063
22064         * tests/test-file-has-acl.sh: Use different code for Cygwin.
22065         * tests/test-set-mode-acl.sh: Likewise.
22066         * tests/test-copy-acl.sh: Likewise.
22067         * tests/test-copy-file.sh: Likewise.
22068
22069 2008-06-02  Bruno Haible  <bruno@clisp.org>
22070
22071         * tests/test-file-has-acl.sh: Remove unused code.
22072
22073 2008-06-01  Bruno Haible  <bruno@clisp.org>
22074
22075         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
22076         (copy_acl): Just a wrapper around qcopy_acl that emits the error
22077         messages.
22078         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
22079
22080 2008-06-01  Bruno Haible  <bruno@clisp.org>
22081
22082         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
22083         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
22084         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
22085         APIs.
22086         * modules/acl-tests (configure.ac): Remove tests now contained in
22087         m4/acl.m4.
22088
22089 2008-06-02  Jim Meyering  <meyering@redhat.com>
22090
22091         announce-gen: use a better key-server host name
22092         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
22093         it may be more consistently reliable.  Suggested by Werner Koch
22094         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
22095
22096 2008-06-01  Bruno Haible  <bruno@clisp.org>
22097
22098         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
22099         Reported by Voroskoi Andras <voroskoi@gmail.com>.
22100
22101 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
22102
22103         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
22104
22105 2008-06-01  Bruno Haible  <bruno@clisp.org>
22106
22107         New ACL tests.
22108         * tests/test-file-has-acl.sh: New file.
22109         * tests/test-file-has-acl.c: New file.
22110         * tests/test-set-mode-acl.sh: New file.
22111         * tests/test-set-mode-acl.c: New file.
22112         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
22113         * tests/test-copy-acl.c: New file.
22114         * modules/acl-tests: New file, based on modules/copy-file-tests.
22115         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
22116         (Depends-on): Add acl-tests.
22117         (configure.ac): Remove checks.
22118         (Makefile.am): Don't create test-sameacls program here any more.
22119
22120 2008-06-01  Bruno Haible  <bruno@clisp.org>
22121
22122         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
22123         * tests/test-sameacls.c: Include progname.h.
22124         (main): Invoke set_program_name. Portability fixes for MacOS X,
22125         Solaris, HP-UX.
22126
22127 2008-06-01  Bruno Haible  <bruno@clisp.org>
22128
22129         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
22130         function.
22131         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
22132
22133 2008-06-01  Bruno Haible  <bruno@clisp.org>
22134
22135         * modules/rpmatch (Depends-on): Add strdup.
22136
22137 2008-06-01  Bruno Haible  <bruno@clisp.org>
22138
22139         * lib/pipe.c: Include unistd-safer.h.
22140         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
22141         * modules/pipe (Depends-on): Add unistd-safer.
22142
22143 2008-05-30  Simon Josefsson  <simon@josefsson.org>
22144
22145         * modules/autobuild (configure.ac): Call AB_INIT.
22146
22147 2008-05-30  Simon Josefsson  <simon@josefsson.org>
22148
22149         * tests/test-getaddrinfo.c: Don't print debug messages by default.
22150         Suggested by Bruno Haible <bruno@clisp.org>.
22151
22152 2008-05-30  Simon Josefsson  <simon@josefsson.org>
22153
22154         * tests/test-base64.c: Cast size_t to unsigned long when invoking
22155         printf.  Use %lu instead of %d.  Reported by Bruno Haible
22156         <bruno@clisp.org>.
22157
22158 2008-05-29  Eric Blake  <ebb9@byu.net>
22159
22160         Prefer new POSIX 200x interfaces over futimesat.
22161         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
22162         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
22163         when available.
22164         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
22165
22166 2008-05-28  Bruno Haible  <bruno@clisp.org>
22167
22168         * modules/stpcpy (License): Change to LGPLv2+.
22169         Requested by David Lutterkort <dlutter@redhat.com>.
22170
22171 2008-05-27  Bruno Haible  <bruno@clisp.org>
22172
22173         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
22174         current mingw.
22175         Reported by Jose E. Marchesi <jemarch@gnu.org>.
22176
22177 2008-05-27  Bruno Haible  <bruno@clisp.org>
22178
22179         * modules/iconv_open (Link): New section, from module 'iconv'.
22180         * modules/striconv (Link): Likewise.
22181         * modules/striconveh (Link): Likewise.
22182         * modules/xstriconv (Link): Likewise.
22183         * modules/unicodeio (Link): Likewise.
22184         * modules/propername (Link): Likewise.
22185         Reported by Jim Meyering.
22186
22187 2008-05-26  Jim Meyering  <meyering@redhat.com>
22188
22189         sha256: do not artificially restrict buffer length to be < 2^32
22190         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
22191         uint32_t to size_t.
22192         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
22193         to match.
22194
22195         avoid unaligned access errors, e.g., on sparc
22196         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
22197         direct access through a possibly-unaligned uint64* pointer.
22198         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
22199         direct access through a possibly-unaligned uint32* pointer.
22200         Prompted by this patch from Tom "spot" Callaway:
22201         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
22202
22203         sha512.c: fix typo in comment
22204         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
22205
22206 2008-05-25  Bruno Haible  <bruno@clisp.org>
22207
22208         * lib/set-mode-acl.c: Renamed from lib/acl.c.
22209         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
22210         (Makefile.am): Update lib_SOURCES.
22211
22212 2008-05-25  Bruno Haible  <bruno@clisp.org>
22213
22214         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
22215
22216 2008-05-25  Jim Meyering  <meyering@redhat.com>
22217
22218         useless-if-before-free: freed expr may have white-space differences
22219         * build-aux/useless-if-before-free: Recognize cases in which the
22220         freed expression differs from the tested one in embedded white
22221         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
22222         $1 was used, so we can't make any regexp shy.  Improved tests now
22223         detect this.
22224
22225         useless-if-before-free: accept white space in the expression.
22226         * build-aux/useless-if-before-free: For now, any white space
22227         in the expression must be identical in the free argument.
22228
22229         useless-if-before-free: efficiency tweak
22230         * build-aux/useless-if-before-free: Make the expression-matching
22231         regexp "shy".
22232         Make the *outer* regexp shy, not the expr-matching one.
22233
22234         update code-in-comment to accept cast of free arg
22235         * build-aux/useless-if-before-free: Update regexp.
22236
22237 2008-05-25  Bruno Haible  <bruno@clisp.org>
22238
22239         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
22240         * modules/copy-file-tests (Files, Makefile.am): Update.
22241         * tests/test-copy-file.c (func_test_copy): Update.
22242
22243 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
22244
22245         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
22246
22247 2008-05-23  Bruno Haible  <bruno@clisp.org>
22248
22249         Improve support for ACLs on OSF/1.
22250         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
22251         Remove fallback for unknown flavors of ACLs.
22252
22253 2008-05-22  Bruno Haible  <bruno@clisp.org>
22254
22255         Add support for ACLs on OSF/1.
22256         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
22257         replacements.
22258         (acl_free_text): New macro fallback.
22259         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
22260         acl_free.
22261         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
22262         acl_free_text function. Require AC_C_INLINE.
22263
22264 2008-05-22  Bruno Haible  <bruno@clisp.org>
22265
22266         Make copy_acl work on MacOS X 10.5.
22267         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
22268         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
22269         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
22270         If MODE_INSIDE_ACL, don't assume that every system has the same text
22271         representation for ACLs as FreeBSD.
22272         * lib/copy-acl.c (copy_acl): Add support for platforms with
22273         !MODE_INSIDE_ACL.
22274         * lib/file-has-acl.c (file_has_acl): Likewise.
22275         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
22276         FreeBSD, MacOS X, or IRIX, respectively.
22277
22278 2008-05-22  Bruno Haible  <bruno@clisp.org>
22279
22280         * lib/acl.h: Don't include <sys/acl.h>.
22281         (GETACLCNT): Move fallback to lib/acl-internal.h.
22282         * lib/acl-internal.h: Include <sys/acl.h> here.
22283         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
22284
22285 2008-05-22  Bruno Haible  <bruno@clisp.org>
22286
22287         Split off copy_acl function to separate file.
22288         * lib/copy-acl.c: New file, extracted from lib/acl.c.
22289         * lib/acl.c (copy_acl): Moved function to separate file.
22290         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
22291         * modules/acl (Files): Add lib/copy-acl.c.
22292         (Makefiles.am): Augment lib_SOURCES.
22293
22294 2008-05-22  Bruno Haible  <bruno@clisp.org>
22295
22296         * modules/copy-file-tests: New file.
22297         * tests/test-copy-file.sh: New file.
22298         * tests/test-copy-file.c: New file.
22299         * tests/test-copy-file-sameacls.c: New file.
22300
22301 2008-05-22  Eric Blake  <ebb9@byu.net>
22302
22303         Avoid gcc warning.
22304         * tests/test-memcmp.c (main): Pass NULL indirectly.
22305
22306 2008-05-21  Bruno Haible  <bruno@clisp.org>
22307
22308         Add reference doc about ACLs.
22309         * doc/acl-resources.txt: New file.
22310         * doc/acl-cygwin.txt: New file.
22311
22312 2008-05-21  Bruno Haible  <bruno@clisp.org>
22313
22314         Avoid one more warning from gcc.
22315         * lib/vasnprintf.c (IF_LINT): Update comments.
22316         (VASNPRINTF): Use it also for the 'prefix' array initializer.
22317
22318 2008-05-21  Jim Meyering  <meyering@redhat.com>
22319
22320         avoid a warning from gcc
22321         * lib/vasnprintf.c (IF_LINT): Define.
22322         (scale10_round_decimal_long_double):
22323         Use it to avoid a "may be used uninitialized" warning.
22324         (scale10_round_decimal_double): Likewise.
22325
22326 2008-05-21  Simon Josefsson  <simon@josefsson.org>
22327
22328         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
22329         declared.
22330
22331 2008-05-20  Bruno Haible  <bruno@clisp.org>
22332
22333         * tests/test-memcmp.c (main): Test also the sign of the result. Test
22334         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
22335
22336 2008-05-20  Simon Josefsson  <simon@josefsson.org>
22337
22338         * modules/memcmp-tests: New file.
22339         * tests/test-memcmp.c: New file.
22340
22341 2008-05-19  Bruno Haible  <bruno@clisp.org>
22342
22343         * modules/propername (Notice, configure.ac): Put quoted "..." into
22344         --keyword option.
22345         * lib/propername.h: Update comments accordingly.
22346         Reported by Eric Blake.
22347
22348 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
22349
22350         * modules/getpass-gnu (Depends-on): Add fseeko.
22351
22352 2008-05-19  Simon Josefsson  <simon@josefsson.org>
22353
22354         * modules/base64-tests: New file.
22355
22356 2008-05-19  Bo Borgerson <gigabo@gmail.com>
22357
22358         * lib/base64.c (base64_decode_ctx): If a decode context structure
22359         was passed in use it to ignore newlines.  If a context structure
22360         was _not_ passed in, continue to treat newlines as garbage (this
22361         is the historical behavior).  Formerly base64_decode.
22362         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
22363         takes a decode context structure.
22364         * lib/base64.h (base64_decode): Macro for four-argument calls.
22365         (base64_decode_alloc): Likewise.
22366         * lib/base64.c (base64_decode_ctx): If a decode context structure
22367         was passed in use it to ignore newlines.  If a context structure
22368         was _not_ passed in, continue to treat newlines as garbage (this
22369         is the historical behavior).  Formerly base64_decode.
22370         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
22371         takes a decode context structure.
22372         * lib/base64.h (base64_decode): Macro for four-argument calls.
22373         (base64_decode_alloc): Likewise.
22374
22375 2008-05-19  Jim Meyering  <meyering@redhat.com>
22376
22377         avoid a warning from gcc
22378         * lib/trim.c (IF_LINT): Define.
22379         (trim2): Use it to avoid a "may be used uninitialized" warning.
22380
22381         Fix doc typo.
22382         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
22383
22384 2008-05-19  Bruno Haible  <bruno@clisp.org>
22385
22386         * doc/glibc-functions/getpass.texi: Document limits of other
22387         implementations.
22388
22389 2008-05-19  Simon Josefsson  <simon@josefsson.org>
22390             Bruno Haible <bruno@clisp.org>
22391
22392         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
22393
22394 2008-05-18  Bruno Haible  <bruno@clisp.org>
22395
22396         * modules/propername: New file, from GNU gettext.
22397         * lib/propername.h: New file, from GNU gettext.
22398         * lib/propername.c: New file, from GNU gettext.
22399         * MODULES.html.sh (Internationalization functions): Add propername.
22400
22401 2008-05-16  Jim Meyering  <meyering@redhat.com>
22402             Bruno Haible  <bruno@clisp.org>
22403
22404         Avoid some warnings from "gcc -Wshadow".
22405         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
22406
22407 2008-05-15  Eric Blake  <ebb9@byu.net>
22408
22409         Extend previous patch to cygwin 1.7.0.
22410         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
22411         fast implementation in cygwin >= 1.7.0.
22412         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22413         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22414
22415 2008-05-15  Bruno Haible  <bruno@clisp.org>
22416
22417         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
22418         implementation in glibc >= 2.9.
22419         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22420         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22421
22422 2008-05-15  Bruno Haible  <bruno@clisp.org>
22423
22424         * MODULES.html.sh (Internationalization functions): Remove linebreak.
22425         (Unicode string functions): Add unilbrk/*.
22426         Reported by Karl Berry.
22427
22428 2008-05-15  Eric Blake  <ebb9@byu.net>
22429
22430         Fix violation of <stdbool.h> replacement in regex.
22431         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
22432         * lib/regexec.c (re_search_internal): Likewise.
22433         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
22434
22435 2008-05-15  Jim Meyering  <meyering@redhat.com>
22436
22437         avoid distracting test output when git or cvs is not found
22438         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
22439         * tests/test-vc-list-files-git.sh: Likewise.
22440
22441 2008-05-15  Eric Blake  <ebb9@byu.net>
22442
22443         Glibc finally accepted the memmem speedup code, bugzilla #5514.
22444         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
22445         glibc version.
22446         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22447         * doc/posix-functions/strstr.texi (strstr): Likewise.
22448         * lib/str-two-way.h (MAX): Sychronize with glibc.
22449
22450 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
22451
22452         * lib/regcomp.c (optimize_utf8): Add a note on why we test
22453         opr.ctx_type.
22454         (calc_first): Initialize constraint field.
22455         (duplicate_node_closure): Use it instead of special casing ANCHORS.
22456         Fix grammar.
22457         (duplicate_node): Merge constraint field for all node types.
22458         (calc_eclosure_iter): Look at constraint field for all node types.
22459         * lib/regex_internal.c (create_cd_newstate): Don't look at
22460         opr.ctx_type.
22461
22462 2008-05-14  Bruno Haible  <bruno@clisp.org>
22463
22464         Help GCC to do better code generation.
22465         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
22466         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22467         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
22468         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
22469         Declare with attribute 'malloc' if supported.
22470
22471 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
22472
22473         use "echo STR|wc -c" rather than unportable "expr length STR"
22474         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
22475         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
22476
22477 2008-05-14  Jim Meyering  <meyering@redhat.com>
22478
22479         use dd ibs=$n count=1 ... rather than less-portable head -c$n
22480         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
22481         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
22482         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
22483         via Collin Lasse.
22484
22485 2008-05-14  Eric Blake  <ebb9@byu.net>
22486
22487         Avoid quadratic growth in gl_LIBSOURCES.
22488         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
22489         Suggested by Bruno Haible.
22490
22491         Test xmemdup0.
22492         * modules/xmemdup0-tests: New file.
22493         * tests/test-xmemdup0.c: Likewise.
22494
22495 2008-05-13  Eric Blake  <ebb9@byu.net>
22496
22497         Split xmemdup0 into its own module.
22498         * modules/xmemdup0: New file.
22499         * lib/xmemdup0.h: Likewise.
22500         * lib/xmemdup0.c: Likewise.
22501         * MODULES.html.sh (Memory management functions): Add xmemdup0.
22502         * lib/xalloc.h (xmemdup0): Remove.
22503         * lib/xmalloc.c (xmemdup0): Likewise.
22504
22505 2008-05-13  Eric Blake  <ebb9@byu.net>
22506             Bruno Haible  <bruno@clisp.org>
22507
22508         Reduce number of forks required during autoconf.
22509         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
22510         and gl_LIBSOURCES_DIR.
22511         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
22512         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
22513         m4_syscmd per file.
22514         <m4_foreach_w>: Move...
22515         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
22516
22517 2008-05-13  Eric Blake  <ebb9@byu.net>
22518
22519         * gnulib-tool: Fix various comment typos.
22520
22521 2008-05-12  Bruno Haible  <bruno@clisp.org>
22522
22523         Tailor the linebreaking algorithm.
22524         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
22525
22526 2008-05-12  Bruno Haible  <bruno@clisp.org>
22527
22528         Update to Unicode 5.0.0.
22529         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22530         LBP_JV, LBP_JT. Redistribute values.
22531         (unilbrk_table): Change size.
22532         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
22533         Unicode TR#14 rev. 22.
22534         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22535         LBP_JV, LBP_JT. Redistribute values.
22536         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
22537         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
22538         Update.
22539         * lib/unilbrk/lbrkprop1.h: Regenerated.
22540         * lib/unilbrk/lbrkprop2.h: Regenerated.
22541         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
22542         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
22543         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
22544         Likewise.
22545         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
22546         Likewise.
22547         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
22548         result.
22549         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22550         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22551         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22552         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
22553         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
22554         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
22555
22556 2008-05-11  Bruno Haible  <bruno@clisp.org>
22557
22558         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
22559
22560 2008-05-11  Bruno Haible  <bruno@clisp.org>
22561
22562         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
22563         * modules/unilbrk/gen-lbrk: New file.
22564
22565 2008-05-11  Bruno Haible  <bruno@clisp.org>
22566
22567         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
22568         * m4/sha512.m4 (gl_SHA512): Likewise.
22569
22570 2008-05-11  Jim Meyering  <meyering@redhat.com>
22571
22572         New modules: crypto/sha256, crypto/sha512 (from coreutils)
22573         * modules/crypto/sha256: New file.
22574         * modules/crypto/sha512: Likewise.
22575         * lib/sha256.c: Likewise.
22576         * lib/sha256.h: Likewise.
22577         * lib/sha512.c: Likewise.
22578         * lib/sha512.h: Likewise.
22579         * lib/u64.h: Likewise.
22580         * m4/sha256.m4: Likewise.
22581         * m4/sha512.m4: Likewise.
22582         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
22583
22584 2008-05-10  Bruno Haible  <bruno@clisp.org>
22585
22586         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
22587         (Input/Output <stdio.h>): Add xprintf.
22588         (Signal handling <signal.h>): Add strsignal.
22589         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
22590         (Core language properties): Add func.
22591         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
22592         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
22593         strings.
22594         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
22595         (Input/output): New section.
22596         (File system functions): Add openat-die, stat-macros.
22597         (Networking functions): Add sockets.
22598         (Unicode string functions): Add unictype/*.
22599         (Support for building libraries and executables): Add gperf.
22600         (Support for building documentation): Add agpl-3.0.
22601         (Misc): Add nocrash.
22602
22603 2008-05-10  Bruno Haible  <bruno@clisp.org>
22604
22605         * modules/unictype/gen-ctype: New file.
22606
22607 2008-05-10  Jim Meyering  <meyering@redhat.com>
22608
22609         Make chdir-safer.c more efficient on a system with no symlinks.
22610         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
22611         also if ELOOP is zero.  Suggested by Bruno Haible.
22612
22613         Make chdir-safer.c slightly safer.
22614         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
22615         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
22616
22617         Avoid compile failure on systems without ELOOP (like mingw).
22618         * lib/chdir-safer.c (ELOOP): Define if not already defined.
22619         Reported by Bruno Haible.
22620
22621 2008-05-10  Bruno Haible  <bruno@clisp.org>
22622
22623         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
22624         (is_utf8_encoding): Use a case-insensitive comparison.
22625         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
22626         streq.
22627
22628 2008-05-10  Bruno Haible  <bruno@clisp.org>
22629
22630         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
22631         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
22632         * lib/unilbrk/ulc-common.h (iconv_string_length,
22633         iconv_string_keeping_offsets): Remove declarations.
22634         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
22635         Don't include <iconv.h>, streq.h, xsize.h.
22636         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
22637         conversion.
22638         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
22639         <iconv.h>, streq.h, xsize.h.
22640         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
22641         conversion.
22642         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
22643         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
22644         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
22645         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
22646
22647 2008-05-10  Bruno Haible  <bruno@clisp.org>
22648
22649         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
22650         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
22651
22652         * modules/unilbrk/u32-width-linebreaks-tests: New file.
22653         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
22654
22655         * modules/unilbrk/u16-width-linebreaks-tests: New file.
22656         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
22657
22658         * modules/unilbrk/u8-width-linebreaks-tests: New file.
22659         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
22660
22661         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
22662         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
22663
22664         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
22665         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
22666
22667         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
22668         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
22669
22670         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
22671         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
22672
22673 2008-05-10  Bruno Haible  <bruno@clisp.org>
22674
22675         Split up 'linebreak' module.
22676         * lib/unilbrk.h: New file, based on lib/linebreak.h.
22677         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
22678         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
22679         modifications.
22680         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
22681         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
22682         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
22683         lib/linebreak.c.
22684         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
22685         lib/linebreak.c.
22686         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
22687         lib/linebreak.c.
22688         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
22689         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
22690         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
22691         lib/linebreak.c.
22692         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
22693         lib/linebreak.c.
22694         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
22695         lib/linebreak.c.
22696         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
22697         lib/linebreak.c.
22698         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
22699         lib/linebreak.c.
22700         * modules/unilbrk/base: New file.
22701         * modules/unilbrk/tables: New file.
22702         * modules/unilbrk/u8-possible-linebreaks: New file.
22703         * modules/unilbrk/u16-possible-linebreaks: New file.
22704         * modules/unilbrk/u32-possible-linebreaks: New file.
22705         * modules/unilbrk/ulc-common: New file.
22706         * modules/unilbrk/ulc-possible-linebreaks: New file.
22707         * modules/unilbrk/u8-width-linebreaks: New file.
22708         * modules/unilbrk/u16-width-linebreaks: New file.
22709         * modules/unilbrk/u32-width-linebreaks: New file.
22710         * modules/unilbrk/ulc-width-linebreaks: New file.
22711         * lib/linebreak.h: Remove file.
22712         * lib/linebreak.c: Remove file.
22713         * m4/linebreak.m4: Remove file.
22714         * modules/linebreak: Remove file.
22715         * NEWS: Mention the changes.
22716
22717 2008-05-09  Eric Blake  <ebb9@byu.net>
22718
22719         Add xmemdup0.
22720         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
22721         implementation.
22722         * lib/xmalloc.c (xmemdup0): New C implementation.
22723
22724 2008-05-08  Bruno Haible  <bruno@clisp.org>
22725
22726         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
22727
22728 2008-05-07  Eric Blake  <ebb9@byu.net>
22729
22730         Support cross-compilation of <wctype.h>.
22731         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
22732         AC_CACHE_CHECK.
22733
22734 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
22735
22736         * build-aux/vc-list-files: Add support for bzr.
22737
22738 2008-05-03  Jim Meyering  <meyering@redhat.com>
22739
22740         avoid failed assertion with tight malloc
22741         * tests/test-getndelim2.c: Correct an off-by-one assertion.
22742
22743 2008-05-03  Simon Josefsson  <simon@josefsson.org>
22744
22745         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
22746         are needed from arpa/inet.h.
22747         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
22748         Reported by Bruno Haible.
22749
22750 2008-05-02  Jim Meyering  <meyering@redhat.com>
22751
22752         avoid compilation error on FreeBSD 6
22753         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
22754
22755 2008-05-01  Jim Meyering  <meyering@redhat.com>
22756
22757         useless-if-before-free: correct --help's exit status description
22758         * build-aux/useless-if-before-free (usage): Like grep, exit 0
22759         for one or more matches, etc.  Reported by Bruno Haible.
22760
22761         vc-list-files: make the stand-alone gnulib test work
22762         * modules/vc-list-files-tests (configure.ac):
22763         Define and AC_SUBST abs_aux_dir.
22764         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
22765         $(abs_top_srcdir) to each script and having each of them
22766         duplicate the work of setting PATH, set PATH here, using
22767         the new variable, abs_aux_dir instead.
22768         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
22769         * tests/test-vc-list-files-git.sh: Likewise.
22770         Reported by Bruno Haible.
22771
22772 2008-05-01  Bruno Haible  <bruno@clisp.org>
22773
22774         * lib/getndelim2.c (getndelim2): Fix newsize computation during
22775         reallocation. Rename 'done' to 'found_delimiter'.
22776
22777 2008-05-01  Jim Meyering  <meyering@redhat.com>
22778
22779         vc-list-files: accommodate /bin/sh like the one from Solaris 10
22780         * build-aux/vc-list-files: Use `...`, not $(...).
22781
22782 2008-04-30  Jim Meyering  <meyering@redhat.com>
22783
22784         add tests for vc-list-files
22785         * modules/vc-list-files-tests: New module.
22786         * tests/test-vc-list-files-cvs.sh: New file.
22787         * tests/test-vc-list-files-git.sh: New file.
22788
22789         avoid a warning from gcc
22790         * lib/getndelim2.c (IF_LINT): Define.
22791         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
22792
22793         vc-list-files: work properly with build-aux/cvsu, too
22794         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
22795         to all cvs-based clauses.
22796
22797         vc-list-files: work properly in the CVS+awk case, too
22798         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
22799
22800         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
22801         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
22802         take more than one file argument, so .  Add quotes, just in case $dir
22803         ever contains a shell meta-character.  Prompted by Soren Hansen in
22804         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
22805
22806 2008-04-29  Eric Blake  <ebb9@byu.net>
22807
22808         Optimize getndelim2 to use block operations when possible.
22809         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
22810         freadseek, and memchr2.
22811         * lib/getndelim2.c (getndelim2): Use them for block reads.
22812
22813 2008-04-29  Bruno Haible  <bruno@clisp.org>
22814
22815         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
22816         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22817         * modules/inet_ntop (Depends-on): Add extensions.
22818         * modules/inet_pton (Depends-on): Likewise.
22819         Reported by Simon Josefsson.
22820
22821 2008-04-29  Jim Meyering  <meyering@redhat.com>
22822
22823         When the is more than one match in a block, match all of them.
22824         * build-aux/useless-if-before-free: Iterate through each block
22825         until there are no more matches.
22826
22827         Fix broken useless-if-before-free script.
22828         * build-aux/useless-if-before-free: Fix typo: missing "?" after
22829         the expression to match cast of argument to free-like function.
22830
22831 2008-04-29  Eric Blake  <ebb9@byu.net>
22832
22833         Use new header.
22834         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
22835
22836 2008-04-29  Jim Meyering  <meyering@redhat.com>
22837
22838         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
22839         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
22840         by gnulib to exist and to declare e.g., inet_ntop.
22841         Don't include "inet_ntop.h", now removed.
22842
22843         * m4/arpa_inet_h.m4: Remove trailing blanks.
22844
22845 2008-04-29  Eric Blake  <ebb9@byu.net>
22846
22847         Silence valgrind on safe reads beyond potential array bounds.
22848         * lib/rawmemchr.valgrind: New file.
22849         * lib/strchrnul.valgrind: Likewise.
22850         * modules/rawmemchr (Files): Distribute new file.
22851         * modules/strchrnul (Files): Likewise.
22852         Suggested by Bruno Haible.
22853
22854 2008-04-29  Bruno Haible  <bruno@clisp.org>
22855
22856         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
22857         (inet_ntop, inet_pton): Change portability warning's wording.
22858         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
22859         Invoke gl_CHECK_NEXT_HEADERS.
22860         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
22861         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
22862         set ARPA_INET_H.
22863         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22864         * modules/arpa_inet (Description): No longer only for systems that
22865         lack it.
22866         (Depends-on): Add include_next.
22867         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
22868         HAVE_ARPA_INET_H.
22869
22870 2008-04-29  Jim Meyering  <meyering@redhat.com>
22871
22872         * modules/mkdir (License): Re-license as LGPLv2+.
22873
22874 2008-04-29  Bruno Haible  <bruno@clisp.org>
22875
22876         * modules/rawmemchr (Maintainer): Set to Eric.
22877         * modules/strchrnul (Maintainer): Likewise.
22878
22879 2008-04-29  Simon Josefsson  <simon@josefsson.org>
22880
22881         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
22882         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
22883
22884         * modules/arpa_inet (arpa/inet.h): Use them.
22885
22886 2008-04-28  Eric Blake  <ebb9@byu.net>
22887
22888         Test getndelim2.
22889         * modules/getndelim2-tests: New file.
22890         * tests/test-getndelim2.c: Likewise.
22891         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
22892         stream.
22893         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
22894
22895         * MODULES.html.sh: Document new module.
22896
22897 2008-04-20  Bruno Haible  <bruno@clisp.org>
22898
22899         * lib/c-stack.c (die): Use raise.
22900         * modules/c-stack (Depends-on): Add raise.
22901
22902 2008-04-28  Bruno Haible  <bruno@clisp.org>
22903
22904         Expect rpmatch to be declared.
22905         * lib/yesno.c (rpmatch): Remove declaration.
22906
22907         Declare rpmatch.
22908         * lib/stdlib.in.h (rpmatch): New declaration.
22909         * lib/rpmatch.c: Include <stdlib.h> first.
22910         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
22911         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
22912         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
22913         HAVE_RPMATCH.
22914         * modules/rpmatch (Depends-on): Add stdlib, extensions.
22915         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
22916         (Include): Set to <stdlib.h>.
22917         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
22918         HAVE_RPMATCH.
22919         * NEWS: Document the change.
22920
22921 2008-04-28  Bruno Haible  <bruno@clisp.org>
22922
22923         Change rpmatch to use nl_langinfo when appropriate.
22924         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
22925         (N_): New macro.
22926         (localized_pattern): New function/macro.
22927         (try): Remove match, nomatch arguments. Copy the pattern into safe
22928         memory before caching it.
22929         (rpmatch): Use localized_pattern. Add translator comments.
22930         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
22931         Suggested by Eric Blake.
22932         * modules/rpmatch (Depends-on): Add stdbool.
22933
22934 2008-04-28  Eric Blake  <ebb9@byu.net>
22935
22936         Add rawmemchr module, matching glibc.
22937         * modules/string (Makefile.am): New indicator.
22938         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
22939         * lib/string.in.h (rawmemchr): Declare when appropriate.
22940         * modules/rawmemchr: New file.
22941         * m4/rawmemchr.m4: Likewise.
22942         * lib/rawmemchr.c: Likewise.
22943         * modules/rawmemchr-tests: Likewise.
22944         * tests/test-rawmemchr.c: Likewise.
22945         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
22946         module.
22947         * modules/strchrnul (Depends-on): Add rawmemchr.
22948         * lib/strchrnul.c (strchrnul): Optimize a corner case.
22949
22950         Whitespace cleanup.
22951         * tests/test-strchrnul.c: Reindent.
22952         * lib/strchrnul.c: Likewise.
22953
22954         Optimize and test strchrnul.
22955         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
22956         * modules/strchrnul-tests: New file.
22957         * tests/test-strchrnul.c: Likewise.
22958
22959         Remove intprops dependency.
22960         * modules/memchr (Depends-on): Remove intprops.
22961         * modules/memrchr (Depends-on): Likewise.
22962         * modules/memchr2 (Depends-on): Likewise.
22963         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
22964         * lib/memrchr.c (__memrchr): Likewise.
22965         * lib/memrchr2.c (memchr2): Likewise.
22966         Reported by Simon Josefsson.
22967
22968 2008-04-28  Simon Josefsson  <simon@josefsson.org>
22969
22970         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
22971         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22972
22973 2008-04-28  Simon Josefsson  <simon@josefsson.org>
22974
22975         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
22976
22977         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
22978
22979         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
22980
22981         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
22982         declarations.
22983         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
22984
22985         * m4/inet_pton.m4: Don't check for header files.
22986
22987         * m4/inet_ntop.m4: Don't check for header files.
22988
22989 2008-04-28  Simon Josefsson  <simon@josefsson.org>
22990
22991         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
22992         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
22993         trigger for cygwin).
22994         Reported by Bruno Haible  <bruno@clisp.org>.
22995
22996 2008-04-28  Bruno Haible  <bruno@clisp.org>
22997
22998         * doc/posix-functions/strdup.texi: Mention mingw problem.
22999
23000 2008-04-27  Bruno Haible  <bruno@clisp.org>
23001
23002         * modules/stat-time-tests (Depends-on): Add sleep.
23003         * tests/test-stat-time.c (force_unlink): New function.
23004         (cleanup): Use it.
23005         (test_mtime): Remove the ctime related tests.
23006         (test_ctime): New function, containing the ctime related tests.
23007         (main): Call test_ctime, except on native Windows platforms.
23008
23009 2008-04-27  Bruno Haible  <bruno@clisp.org>
23010
23011         * lib/rpmatch.c (rpmatch): Add some comments.
23012         Reported by James Youngman <jay@gnu.org>.
23013
23014 2008-04-27  Bruno Haible  <bruno@clisp.org>
23015
23016         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
23017         quiet NaNs.
23018
23019 2008-04-27  Bruno Haible  <bruno@clisp.org>
23020
23021         Make test-yesno.sh work on mingw.
23022         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
23023         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
23024         (main): Set stdin to binary mode.
23025         * modules/yesno-tests (Depends-on): Add binary-io.
23026
23027 2008-04-27  Bruno Haible  <bruno@clisp.org>
23028
23029         Fix 'isfinite' on x86, x86_64, ia64 platforms.
23030         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
23031         argument that lie outside the IEEE 854 domain.
23032         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
23033         (gl_ISFINITE): Use it.
23034         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
23035
23036 2008-04-27  Bruno Haible  <bruno@clisp.org>
23037
23038         Allow local renaming in config.h.
23039         * lib/memrchr.c (memrchr): Don't undefine outside libc.
23040
23041 2008-04-27  Bruno Haible  <bruno@clisp.org>
23042
23043         * lib/memchr.c (__memchr): Change type of 'i'.
23044         * lib/memchr2.c (memchr2): Likewise.
23045
23046 2008-04-26  Eric Blake  <ebb9@byu.net>
23047         and Bruno Haible  <bruno@clisp.org>
23048
23049         Optimize and test memrchr.
23050         * modules/memrchr (Depends-on): Add intprops.
23051         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
23052         * modules/memrchr-tests: New file.
23053         * tests/test-memrchr.c: New file.
23054
23055 2008-04-26  Bruno Haible  <bruno@clisp.org>
23056
23057         Add tentative support for DragonFly BSD.
23058         * lib/stdio-impl.h: Add macros for DragonFly BSD.
23059         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
23060         fp.
23061         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
23062         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
23063         * lib/fpurge.c (fpurge): Likewise.
23064         * lib/freadable.c (freaadable): Likewise.
23065         * lib/freadahead.c (freadahead): Likewise.
23066         * lib/freading.c (freading): Likewise.
23067         * lib/freadptr.c (freadptr): Likewise.
23068         * lib/freadseek.c (freadptrinc): Likewise.
23069         * lib/fseeko.c (fseeko): Likewise.
23070         * lib/fseterr.c (fseterr): Likewise.
23071         * lib/fwritable.c (fwritable): Likewise.
23072         * lib/fwriting.c (fwriting): Likewise.
23073
23074 2008-04-26  Bruno Haible  <bruno@clisp.org>
23075
23076         * lib/stdio-impl.h: New file.
23077         * lib/fbufmode.c: Include stdio-impl.h.
23078         (fbufmode): Use fp_, remove redundant #defines.
23079         * lib/fflush.c: Include stdio-impl.h.
23080         (clear_ungetc_buffer): Remove redundant #defines.
23081         * lib/fpurge.c: Include stdio-impl.h.
23082         (fpurge): Remove redundant #defines.
23083         * lib/freadable.c: Include stdio-impl.h.
23084         (freadable): Remove redundant #defines.
23085         * lib/freadahead.c: Include stdio-impl.h.
23086         (freadahead): Remove redundant #defines.
23087         * lib/freading.c: Include stdio-impl.h.
23088         (freading): Remove redundant #defines.
23089         * lib/freadptr.c: Include stdio-impl.h.
23090         (freadptr): Remove redundant #defines.
23091         * lib/freadseek.c: Include stdio-impl.h.
23092         (freadptrinc): Remove redundant #defines.
23093         * lib/fseeko.c: Include stdio-impl.h.
23094         (rpl_fseeko): Remove redundant #defines.
23095         * lib/fseterr.c: Include stdio-impl.h.
23096         (fseterr): Remove redundant #defines.
23097         * lib/fwritable.c: Include stdio-impl.h.
23098         (fwritable: Remove redundant #defines.
23099         * lib/fwriting.c: Include stdio-impl.h.
23100         (fwriting): Remove redundant #defines.
23101         * modules/fbufmode (Files): Add lib/stdio-impl.h.
23102         * modules/fflush (Files): Likewise.
23103         * modules/fpurge (Files): Likewise.
23104         * modules/freadable (Files): Likewise.
23105         * modules/freadahead (Files): Likewise.
23106         * modules/freading (Files): Likewise.
23107         * modules/freadptr (Files): Likewise.
23108         * modules/freadseek (Files): Likewise.
23109         * modules/fseeko (Files): Likewise.
23110         * modules/fseterr (Files): Likewise.
23111         * modules/fwritable (Files): Likewise.
23112         * modules/fwriting (Files): Likewise.
23113
23114 2008-04-26  Bruno Haible  <bruno@clisp.org>
23115
23116         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
23117         restore_seek_optimization, update_fpos_cache): New functions, extracted
23118         from rpl_fflush.
23119         (rpl_fflush): Use them.
23120         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
23121         (gl_REPLACE_FFLUSH): Use it.
23122
23123 2008-04-26  Bruno Haible  <bruno@clisp.org>
23124
23125         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
23126         on Solaris.
23127         * tests/test-xstrtoimax.sh: Likewise.
23128         * tests/test-xstrtoumax.sh: Likewise.
23129         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23130
23131 2008-04-26  Bruno Haible  <bruno@clisp.org>
23132
23133         * modules/memchr-tests: New file.
23134         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
23135
23136 2008-04-26  Eric Blake  <ebb9@byu.net>
23137             Bruno Haible  <bruno@clisp.org>
23138
23139         * lib/memchr.c: Include intprops.h.
23140         (__memchr): Optimize parallel detection of matching bytes. Rename local
23141         variables. Add explanatory comments.
23142
23143 2008-04-26  Bruno Haible  <bruno@clisp.org>
23144
23145         Fix module 'memchr', broken since 2000-10-28.
23146         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
23147
23148 2008-04-26  Bruno Haible  <bruno@clisp.org>
23149
23150         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
23151         comments.
23152
23153 2008-04-25  Eric Blake  <ebb9@byu.net>
23154
23155         Use native fstatat on cygwin 1.7.0.
23156         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
23157         first.
23158
23159 2008-04-23  Eric Blake  <ebb9@byu.net>
23160
23161         Improve memchr2 performance.
23162         * lib/memchr2.c (memchr2): Further optimize parallel detection of
23163         NUL bytes.
23164         * modules/memchr2 (Depends-on): Use intprops.h.
23165
23166 2008-04-23  Simon Josefsson  <simon@josefsson.org>
23167
23168         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
23169         an inline function instead of a CPP macro.  Patch by Ben Pfaff
23170         <blp@cs.stanford.edu>.
23171
23172 2008-04-23  Simon Josefsson  <simon@josefsson.org>
23173
23174         * lib/arpa_inet.in.h: New file.
23175
23176         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
23177         (Makefile.am): Sed in substitute header file.
23178
23179         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
23180         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
23181
23182         * modules/inet_ntop (configure.ac): Use
23183         gl_ARPA_INET_MODULE_INDICATOR.
23184
23185         * modules/inet_pton (configure.ac): Use
23186         gl_ARPA_INET_MODULE_INDICATOR.
23187
23188 2008-04-22  Jim Meyering  <meyering@redhat.com>
23189
23190         * modules/verify (License): Re-license as LGPLv2+.
23191
23192 2008-04-22  Simon Josefsson  <simon@josefsson.org>
23193
23194         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
23195         parameter to void* as per POSIX standard (MinGW uses char*).
23196
23197 2008-04-21  Bruno Haible  <bruno@clisp.org>
23198
23199         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
23200         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
23201         Define to replacements if REPLACE_ISWCNTRL is 1.
23202         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
23203         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
23204         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
23205         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
23206         what it fixes.
23207         * doc/posix-functions/iswalpha.texi: Likewise.
23208         * doc/posix-functions/iswblank.texi: Likewise.
23209         * doc/posix-functions/iswcntrl.texi: Likewise.
23210         * doc/posix-functions/iswdigit.texi: Likewise.
23211         * doc/posix-functions/iswgraph.texi: Likewise.
23212         * doc/posix-functions/iswlower.texi: Likewise.
23213         * doc/posix-functions/iswprint.texi: Likewise.
23214         * doc/posix-functions/iswpunct.texi: Likewise.
23215         * doc/posix-functions/iswspace.texi: Likewise.
23216         * doc/posix-functions/iswupper.texi: Likewise.
23217         * doc/posix-functions/iswxdigit.texi: Likewise.
23218         Reported by Alain Guibert.
23219
23220 2008-04-21  Bruno Haible  <bruno@clisp.org>
23221
23222         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
23223         Patch by Alain Guibert.
23224
23225 2008-04-21  Bruno Haible  <bruno@clisp.org>
23226
23227         Fix test failures on mingw.
23228         * tests/test-xstrtol.c (print_no_progname): New function.
23229         (main): Install it in error_print_progname hook.
23230         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
23231         * tests/test-xstrtoimax.sh: Likewise.
23232         * tests/test-xstrtoumax.sh: Likewise.
23233
23234 2008-04-21  Bruno Haible  <bruno@clisp.org>
23235
23236         Fix test failure on mingw.
23237         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
23238
23239 2008-04-21  Bruno Haible  <bruno@clisp.org>
23240
23241         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
23242         Actually assign a value.
23243
23244 2008-04-20  Bruno Haible  <bruno@clisp.org>
23245
23246         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
23247         take 2.
23248         * lib/canonicalize.c (canonicalize_file_name): Elide if the
23249         'canonicalize-lgpl' module is also used.
23250         * lib/canonicalize-lgpl.c: Undo last change.
23251         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
23252
23253 2008-04-20  Bruno Haible  <bruno@clisp.org>
23254
23255         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
23256         config.h. Provide _mkdir based fallback for mingw.
23257         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
23258         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
23259         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
23260         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
23261         rather than defining mkdir in config.h.
23262         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
23263         (gl_SYS_STAT_H_DEFAULTS): New macro.
23264         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
23265         HAVE_IO_H any more.
23266         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
23267         HAVE_DECL_MKDIR and HAVE_IO_H.
23268
23269 2008-04-20  Bruno Haible  <bruno@clisp.org>
23270
23271         * lib/isapipe.c: Port to native Windows platforms.
23272
23273 2008-04-20  Bruno Haible  <bruno@clisp.org>
23274
23275         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
23276
23277 2008-04-21  Eric Blake  <ebb9@byu.net>
23278
23279         Work around preprocessors that don't handle UINTMAX_MAX.
23280         * lib/memchr2.c (memchr2): Avoid embedded #if.
23281         Reported by Alain Guibert, fix suggested by Bruno Haible.
23282
23283 2008-04-21  Simon Josefsson  <simon@josefsson.org>
23284
23285         * doc/posix-functions/strftime.texi (strftime): Explain better
23286         Windows incompatibility.  Suggested by Micah Cowan
23287         <micah@cowan.name>.
23288
23289 2008-04-20  Bruno Haible  <bruno@clisp.org>
23290
23291         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
23292         unistr/u8-mblen.
23293
23294 2008-04-20  Bruno Haible  <bruno@clisp.org>
23295
23296         Fix test failure on platforms with non-GNU iconv.
23297         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
23298         (U_TO_U8): Use it, rather than u16_to_u8.
23299         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
23300         units at the end of the input string.
23301         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
23302
23303 2008-04-20  Bruno Haible  <bruno@clisp.org>
23304
23305         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
23306         when the resulting length is 0.
23307         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
23308
23309 2008-04-20  Bruno Haible  <bruno@clisp.org>
23310
23311         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
23312         works.
23313         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
23314
23315 2008-04-20  Bruno Haible  <bruno@clisp.org>
23316
23317         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
23318         * modules/tsearch-tests (configure.ac): Test for initstate function.
23319
23320 2008-04-20  Bruno Haible  <bruno@clisp.org>
23321
23322         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
23323         for nlink_t if missing.
23324         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
23325
23326 2008-04-19  Bruno Haible  <bruno@clisp.org>
23327
23328         Work around snprintf bug on Linux libc5.
23329         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
23330         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
23331         gl_SNPRINTF_SIZE1.
23332         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23333         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
23334         that test failed.
23335         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
23336         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
23337         * modules/snprintf (Files): Add m4/printf.m4.
23338         * modules/vsnprintf (Files): Likewise.
23339         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
23340         * doc/posix-functions/vsnprintf.texi: Likewise.
23341
23342 2008-04-19  Bruno Haible  <bruno@clisp.org>
23343
23344         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
23345         from 0.0058 to less than 10^-7.
23346
23347 2008-04-19  Bruno Haible  <bruno@clisp.org>
23348
23349         Fix rounding when a precision is given.
23350         * lib/vasnprintf.c (is_borderline): New function.
23351         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
23352         9...9x.
23353         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
23354         %e, %g.
23355         * tests/test-vasprintf-posix.c (test_function): Likewise.
23356         * tests/test-snprintf-posix.h (test_function): Likewise.
23357         * tests/test-sprintf-posix.h (test_function): Likewise.
23358         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
23359         * tests/test-printf-posix.h (test_function): Likewise.
23360         * tests/test-printf-posix.output: Update.
23361         Reported by John Darrington <john@darrington.wattle.id.au> via
23362         Ben Pfaff <blp@cs.stanford.edu>.
23363
23364 2008-04-18  Simon Josefsson  <simon@josefsson.org>
23365
23366         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
23367         Suggested by Bruno Haible <bruno@clisp.org>.
23368
23369 2008-04-17  Bruno Haible  <bruno@clisp.org>
23370
23371         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
23372         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
23373         implementation.
23374         Patch by Bruce Merry <bmerry@gmail.com>.
23375
23376 2008-04-17  Simon Josefsson  <simon@josefsson.org>
23377
23378         * doc/posix-functions/strftime.texi (strftime): Mention that %e
23379         doesn't work under Windows.
23380
23381 2008-04-16  Bruno Haible  <bruno@clisp.org>
23382
23383         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
23384         New macros.
23385         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
23386         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
23387         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
23388         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
23389         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
23390         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
23391         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
23392         macros.
23393         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
23394         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
23395         Northern Sotho, Uighur.
23396
23397 2008-04-16  Bruno Haible  <bruno@clisp.org>
23398
23399         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
23400         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
23401         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
23402         Reported by Daniel Bergström <daniel@octocode.com>.
23403
23404 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
23405             Bruno Haible  <bruno@clisp.org>
23406
23407         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
23408         function.
23409         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
23410         New functions, mostly extracted from gl_locale_name_default.
23411         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
23412
23413 2008-04-16  Eric Blake  <ebb9@byu.net>
23414
23415         Adjust strtod detection to catch glibc 2.7 bug.
23416         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
23417         Reported by John Gatewood Ham.
23418
23419 2008-04-16  Bruno Haible  <bruno@clisp.org>
23420
23421         Add tentative support for Linux libc5.
23422         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
23423         * lib/fpurge.c (fpurge): Likewise.
23424         * lib/freadable.c (freadable): Likewise.
23425         * lib/freadahead.c (freadahead): Likewise.
23426         * lib/freading.c (freading): Likewise.
23427         * lib/freadptr.c (freadptr): Likewise.
23428         * lib/freadseek.c (freadptrinc): Likewise.
23429         * lib/fseeko.c (rpl_fseeko): Likewise.
23430         * lib/fseterr.c (fseterr): Likewise.
23431         * lib/fwritable.c (fwritable): Likewise.
23432         * lib/fwriting.c (fwriting): Likewise.
23433         Reported by Alain Guibert <alguibert+bts@free.fr>.
23434
23435 2008-04-15  Bruno Haible  <bruno@clisp.org>
23436
23437         * modules/mathl (configure.ac): Define module indicator.
23438
23439 2008-04-15  Bruno Haible  <bruno@clisp.org>
23440
23441         * lib/logl.c (logl): Remove unused variables.
23442
23443 2008-04-15  Bruno Haible  <bruno@clisp.org>
23444
23445         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
23446         fails.
23447
23448 2008-04-15  Bruno Haible  <bruno@clisp.org>
23449
23450         * lib/trim.c (trim2): Fix argument of isspace() macro.
23451
23452 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
23453
23454         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
23455         to 0.
23456         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
23457
23458 2008-04-14  Bruno Haible  <bruno@clisp.org>
23459
23460         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
23461         AC_LANG_PROGRAM argument.
23462         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
23463         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
23464         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23465         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23466         * m4/math_h.m4 (gl_MATH_H): Likewise.
23467         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
23468         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23469         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
23470         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23471         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23472         * m4/regex.m4 (gl_REGEX): Likewise.
23473         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
23474         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
23475         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23476         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
23477         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
23478         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23479         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23480         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23481
23482 2008-04-14  Jim Meyering  <meyering@redhat.com>
23483
23484         test-strtod: fix typos: s/abs/fabs/
23485         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
23486
23487 2008-04-13  Bruno Haible  <bruno@clisp.org>
23488
23489         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
23490         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
23491         module is also used and while not building the reloc-wrapper.
23492
23493 2008-04-13  Bruno Haible  <bruno@clisp.org>
23494
23495         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
23496
23497 2008-04-13  Bruno Haible  <bruno@clisp.org>
23498
23499         Fix AIX compilation failure introduced on 2008-04-02.
23500         * tests/test-frexp.c (exp): Undefine before redefining.
23501         * tests/test-frexpl.c (exp): Likewise.
23502
23503 2008-04-13  Bruno Haible  <bruno@clisp.org>
23504
23505         Work around a HP-UX stdio bug.
23506         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
23507         * tests/test-ftello.c (main): Likewise.
23508         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
23509         * doc/posix-functions/ftello.texi: Likewise.
23510
23511 2008-04-13  Bruno Haible  <bruno@clisp.org>
23512
23513         Make test-signbit pass on HP-UX/hppa.
23514         * tests/test-signbit.c (minus_zerol): New variable.
23515         (test_signbitl): Use it.
23516
23517 2008-04-13  Bruno Haible  <bruno@clisp.org>
23518
23519         Make truncl work on OSF/1 4.0.
23520         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
23521         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23522         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23523         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
23524         HAVE_DECL_TRUNCL.
23525         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
23526         HAVE_DECL_TRUNCL.
23527         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
23528
23529 2008-04-13  Bruno Haible  <bruno@clisp.org>
23530
23531         * lib/unictype.h: Remove trailing comma from enumeration definitions.
23532
23533 2008-04-13  Bruno Haible  <bruno@clisp.org>
23534
23535         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
23536         expression, so as to avoid HP-UX 11 cc compiler bug.
23537
23538 2008-04-13  Bruno Haible  <bruno@clisp.org>
23539
23540         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
23541
23542 2008-04-13  Bruno Haible  <bruno@clisp.org>
23543
23544         * lib/git-merge-changelog.c: Remove empty declaration outside of
23545         functions.
23546
23547 2008-04-13  Bruno Haible  <bruno@clisp.org>
23548
23549         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
23550
23551 2008-04-13  Bruno Haible  <bruno@clisp.org>
23552
23553         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
23554         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
23555         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
23556         also if it exists but lacks definitions of the SHUT_* macros.
23557         * modules/sys_socket (Description): Update.
23558         Reported by Elbert Pol <e.pol@chello.nl>.
23559
23560 2008-04-13  Bruno Haible  <bruno@clisp.org>
23561
23562         * lib/localcharset.c (OS2): Don't redefine if already defined.
23563         Reported by Elbert Pol <e.pol@chello.nl>.
23564
23565 2008-04-13  Bruno Haible  <bruno@clisp.org>
23566
23567         * lib/binary-io.h [__EMX__]: Include <io.h>.
23568         Reported by Elbert Pol <e.pol@chello.nl>.
23569
23570 2008-04-12  Bruno Haible  <bruno@clisp.org>
23571
23572         * lib/fpucw.h: Enable the definitions also for x86_64.
23573         Needed for NetBSD/x86_64.
23574         Reported by Thomas Klausner <tk@giga.or.at>.
23575
23576 2008-04-12  Bruno Haible  <bruno@clisp.org>
23577
23578         * tests/test-strtod.c: Include isnand.h.
23579         (main): Use isnand instead of isnan.
23580         Reported by Jim Meyering.
23581
23582 2008-04-12  Bruno Haible  <bruno@clisp.org>
23583
23584         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
23585         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
23586
23587 2008-04-12  Jim Meyering  <meyering@redhat.com>
23588
23589         * m4/math_h.m4 (gl_MATH_H): Fix typos.
23590
23591 2008-04-12  Bruno Haible  <bruno@clisp.org>
23592
23593         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
23594         Reported by Elbert Pol <e.pol@chello.nl>.
23595
23596 2008-04-12  Eric Blake  <ebb9@byu.net>
23597
23598         Work around Solaris 10 math.h bug.
23599         * m4/math_h.m4 (gl_MATH_H): Check for bug.
23600         (gl_MATH_H_DEFAULTS): Set up default.
23601         * modules/math (Makefile.am): Replace new indicators.
23602         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
23603         * tests/test-math.c (main): Test this.
23604         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
23605         * doc/posix-headers/math.texi (math.h): Mention bug.
23606         Reported by Nelson H. F. Beebe and Jim Meyering.
23607
23608 2008-04-11  Bruno Haible  <bruno@clisp.org>
23609
23610         Adapt to future versions of Apple GCC.
23611         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
23612         Reported by Peter O'Gorman <peter@pogma.com>.
23613
23614 2008-04-11  Bruno Haible  <bruno@clisp.org>
23615
23616         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
23617
23618 2008-04-11  Bruno Haible  <bruno@clisp.org>
23619
23620         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
23621
23622         * modules/getaddrinfo-tests (Makefile.am): Define
23623         test_getaddrinfo_LDADD.
23624
23625 2008-04-11  Bruno Haible  <bruno@clisp.org>
23626
23627         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
23628         (init): Fix syntax error.
23629         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
23630         is declared.
23631
23632 2008-04-11  Bruno Haible  <bruno@clisp.org>
23633
23634         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
23635         * modules/glob (Depends-on): Add stdbool.
23636
23637 2008-04-11  Bruno Haible  <bruno@clisp.org>
23638
23639         * lib/trim.c: Include <string.h>.
23640
23641 2008-04-11  Eric Blake  <ebb9@byu.net>
23642
23643         Avoid compile failure on OS/2.
23644         * lib/regex_internal.h (internal_function): Disable optimization
23645         on OS/2 (__EMX__), where it caused compiler error.
23646         Reported by Elbert Pol.
23647
23648 2008-04-11  Bruno Haible  <bruno@clisp.org>
23649
23650         Flush the standard error stream before aborting. Needed on mingw.
23651         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
23652         * tests/test-array_list.c (ASSERT): Likewise.
23653         * tests/test-array_oset.c (ASSERT): Likewise.
23654         * tests/test-avltree_list.c (ASSERT): Likewise.
23655         * tests/test-avltree_oset.c (ASSERT): Likewise.
23656         * tests/test-avltreehash_list.c (ASSERT): Likewise.
23657         * tests/test-binary-io.c (ASSERT): Likewise.
23658         * tests/test-byteswap.c (ASSERT): Likewise.
23659         * tests/test-c-ctype.c (ASSERT): Likewise.
23660         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
23661         * tests/test-c-strcasestr.c (ASSERT): Likewise.
23662         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
23663         * tests/test-c-strstr.c (ASSERT): Likewise.
23664         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
23665         * tests/test-canonicalize.c (ASSERT): Likewise.
23666         * tests/test-carray_list.c (ASSERT): Likewise.
23667         * tests/test-ceilf1.c (ASSERT): Likewise.
23668         * tests/test-ceilf2.c (ASSERT): Likewise.
23669         * tests/test-ceill.c (ASSERT): Likewise.
23670         * tests/test-count-one-bits.c (ASSERT): Likewise.
23671         * tests/test-fbufmode.c (ASSERT): Likewise.
23672         * tests/test-fflush2.c (ASSERT): Likewise.
23673         * tests/test-floorf1.c (ASSERT): Likewise.
23674         * tests/test-floorf2.c (ASSERT): Likewise.
23675         * tests/test-floorl.c (ASSERT): Likewise.
23676         * tests/test-fopen.c (ASSERT): Likewise.
23677         * tests/test-fpending.c (ASSERT): Likewise.
23678         * tests/test-fprintf-posix.c (ASSERT): Likewise.
23679         * tests/test-fpurge.c (ASSERT): Likewise.
23680         * tests/test-freadable.c (ASSERT): Likewise.
23681         * tests/test-freadahead.c (ASSERT): Likewise.
23682         * tests/test-freading.c (ASSERT): Likewise.
23683         * tests/test-freadptr.c (ASSERT): Likewise.
23684         * tests/test-freadptr2.c (ASSERT): Likewise.
23685         * tests/test-freadseek.c (ASSERT): Likewise.
23686         * tests/test-freopen.c (ASSERT): Likewise.
23687         * tests/test-frexp.c (ASSERT): Likewise.
23688         * tests/test-frexpl.c (ASSERT): Likewise.
23689         * tests/test-fseek.c (ASSERT): Likewise.
23690         * tests/test-fseeko.c (ASSERT): Likewise.
23691         * tests/test-fstrcmp.c (ASSERT): Likewise.
23692         * tests/test-ftell.c (ASSERT): Likewise.
23693         * tests/test-ftello.c (ASSERT): Likewise.
23694         * tests/test-func.c (ASSERT): Likewise.
23695         * tests/test-fwritable.c (ASSERT): Likewise.
23696         * tests/test-fwriting.c (ASSERT): Likewise.
23697         * tests/test-getdelim.c (ASSERT): Likewise.
23698         * tests/test-getline.c (ASSERT): Likewise.
23699         * tests/test-i-ring.c (ASSERT): Likewise.
23700         * tests/test-iconv-utf.c (ASSERT): Likewise.
23701         * tests/test-iconv.c (ASSERT): Likewise.
23702         * tests/test-isfinite.c (ASSERT): Likewise.
23703         * tests/test-isnand.c (ASSERT): Likewise.
23704         * tests/test-isnanf.c (ASSERT): Likewise.
23705         * tests/test-isnanl.h (ASSERT): Likewise.
23706         * tests/test-ldexpl.c (ASSERT): Likewise.
23707         * tests/test-linked_list.c (ASSERT): Likewise.
23708         * tests/test-linkedhash_list.c (ASSERT): Likewise.
23709         * tests/test-localename.c (ASSERT): Likewise.
23710         * tests/test-lseek.c (ASSERT): Likewise.
23711         * tests/test-mbscasecmp.c (ASSERT): Likewise.
23712         * tests/test-mbscasestr1.c (ASSERT): Likewise.
23713         * tests/test-mbscasestr2.c (ASSERT): Likewise.
23714         * tests/test-mbscasestr3.c (ASSERT): Likewise.
23715         * tests/test-mbscasestr4.c (ASSERT): Likewise.
23716         * tests/test-mbschr.c (ASSERT): Likewise.
23717         * tests/test-mbscspn.c (ASSERT): Likewise.
23718         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
23719         * tests/test-mbspbrk.c (ASSERT): Likewise.
23720         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
23721         * tests/test-mbsrchr.c (ASSERT): Likewise.
23722         * tests/test-mbsspn.c (ASSERT): Likewise.
23723         * tests/test-mbsstr1.c (ASSERT): Likewise.
23724         * tests/test-mbsstr2.c (ASSERT): Likewise.
23725         * tests/test-mbsstr3.c (ASSERT): Likewise.
23726         * tests/test-memchr2.c (ASSERT): Likewise.
23727         * tests/test-memmem.c (ASSERT): Likewise.
23728         * tests/test-open.c (ASSERT): Likewise.
23729         * tests/test-printf-frexp.c (ASSERT): Likewise.
23730         * tests/test-printf-frexpl.c (ASSERT): Likewise.
23731         * tests/test-printf-posix.c (ASSERT): Likewise.
23732         * tests/test-quotearg.c (ASSERT): Likewise.
23733         * tests/test-rbtree_list.c (ASSERT): Likewise.
23734         * tests/test-rbtree_oset.c (ASSERT): Likewise.
23735         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
23736         * tests/test-round1.c (ASSERT): Likewise.
23737         * tests/test-roundf1.c (ASSERT): Likewise.
23738         * tests/test-roundl.c (ASSERT): Likewise.
23739         * tests/test-signbit.c (ASSERT): Likewise.
23740         * tests/test-sleep.c (ASSERT): Likewise.
23741         * tests/test-snprintf-posix.c (ASSERT): Likewise.
23742         * tests/test-snprintf.c (ASSERT): Likewise.
23743         * tests/test-sprintf-posix.c (ASSERT): Likewise.
23744         * tests/test-stat-time.c (ASSERT): Likewise.
23745         * tests/test-strcasestr.c (ASSERT): Likewise.
23746         * tests/test-strerror.c (ASSERT): Likewise.
23747         * tests/test-striconv.c (ASSERT): Likewise.
23748         * tests/test-striconveh.c (ASSERT): Likewise.
23749         * tests/test-striconveha.c (ASSERT): Likewise.
23750         * tests/test-strsignal.c (ASSERT): Likewise.
23751         * tests/test-strstr.c (ASSERT): Likewise.
23752         * tests/test-strtod.c (ASSERT): Likewise.
23753         * tests/test-trunc1.c (ASSERT): Likewise.
23754         * tests/test-trunc2.c (ASSERT): Likewise.
23755         * tests/test-truncf1.c (ASSERT): Likewise.
23756         * tests/test-truncf2.c (ASSERT): Likewise.
23757         * tests/test-truncl.c (ASSERT): Likewise.
23758         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
23759         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
23760         * tests/test-vasnprintf.c (ASSERT): Likewise.
23761         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
23762         * tests/test-vasprintf.c (ASSERT): Likewise.
23763         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
23764         * tests/test-vprintf-posix.c (ASSERT): Likewise.
23765         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
23766         * tests/test-vsnprintf.c (ASSERT): Likewise.
23767         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
23768         * tests/test-wcwidth.c (ASSERT): Likewise.
23769         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
23770         * tests/test-xprintf-posix.c (ASSERT): Likewise.
23771         * tests/test-xvasprintf.c (ASSERT): Likewise.
23772         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
23773         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
23774         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
23775         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
23776         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
23777         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
23778         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
23779         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
23780         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
23781         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
23782         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
23783         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
23784         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
23785         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
23786         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
23787         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
23788         * tests/unictype/test-block_list.c (ASSERT): Likewise.
23789         * tests/unictype/test-block_of.c (ASSERT): Likewise.
23790         * tests/unictype/test-block_test.c (ASSERT): Likewise.
23791         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
23792         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
23793         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
23794         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
23795         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
23796         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
23797         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
23798         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
23799         * tests/unictype/test-combining.c (ASSERT): Likewise.
23800         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
23801         * tests/unictype/test-digit.c (ASSERT): Likewise.
23802         * tests/unictype/test-mirror.c (ASSERT): Likewise.
23803         * tests/unictype/test-numeric.c (ASSERT): Likewise.
23804         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
23805         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
23806         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
23807         * tests/unictype/test-scripts.c (ASSERT): Likewise.
23808         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
23809         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
23810         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
23811         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
23812         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
23813         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
23814         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
23815         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
23816         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
23817         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
23818         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
23819         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
23820         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
23821         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
23822         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
23823         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
23824         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
23825         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
23826         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
23827         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
23828         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
23829         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
23830         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
23831         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
23832         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
23833         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
23834         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
23835         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
23836         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
23837         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
23838         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
23839         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
23840         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
23841         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
23842         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
23843         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
23844         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
23845         Reported by Eric Blake.
23846
23847 2008-04-11  Bruno Haible  <bruno@clisp.org>
23848
23849         * lib/wchar.in.h: Tweak comment.
23850
23851 2008-04-11  Bruno Haible  <bruno@clisp.org>
23852
23853         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
23854         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
23855         gl_COMMON.
23856         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
23857
23858 2008-04-11  Bruno Haible  <bruno@clisp.org>
23859
23860         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
23861
23862 2008-04-11  Simon Josefsson  <simon@josefsson.org>
23863
23864         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
23865         of attempting to use non-existing /dev/*random.  Based on patch
23866         from Adam Strzelecki <ono@java.pl> in
23867         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
23868
23869 2008-04-08  Bruno Haible  <bruno@clisp.org>
23870
23871         Add tentative support for emx+gcc.
23872         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
23873         * lib/fpurge.c (fpurge): Likewise.
23874         * lib/freadable.c (freadable): Likewise.
23875         * lib/freadahead.c (freadahead): Likewise.
23876         * lib/freading.c (freading): Likewise.
23877         * lib/freadptr.c (freadptr): Likewise.
23878         * lib/freadseek.c (freadptrinc): Likewise.
23879         * lib/fseeko.c (rpl_fseeko): Likewise.
23880         * lib/fseterr.c (fseterr): Likewise.
23881         * lib/fwritable.c (fwritable): Likewise.
23882         * lib/fwriting.c (fwriting): Likewise.
23883         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
23884
23885 2008-04-09  Eric Blake  <ebb9@byu.net>
23886
23887         Avoid some autoconf warnings.
23888         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
23889         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
23890         * m4/afs.m4 (gl_AFS): Likewise.
23891         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
23892         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
23893         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23894         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
23895         (gl_INTEGER_TYPE_SUFFIX): Likewise.
23896         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
23897         (AC_CHECK_DECLS_ONCE): Likewise.
23898         Rename file...
23899         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
23900         gnulib-tool requires autoconf 2.59 or better.
23901         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
23902
23903 2008-04-08  Eric Blake  <ebb9@byu.net>
23904
23905         Use 'git describe --match' if present (added in git 1.5.5).
23906         * build-aux/git-version-gen: Limit result to tags that match 'v*'
23907         if possible.
23908
23909 2008-04-08  Bruno Haible  <bruno@clisp.org>
23910
23911         Add tentative support for OpenServer.
23912         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
23913         _ptr, _cnt.
23914         * lib/fpurge.c (fpurge): Likewise.
23915         * lib/freadable.c (freadable): Likewise.
23916         * lib/freadahead.c (freadahead): Likewise.
23917         * lib/freading.c (freading): Likewise.
23918         * lib/freadptr.c (freadptr): Likewise.
23919         * lib/freadseek.c (freadptrinc): Likewise.
23920         * lib/fseeko.c (rpl_fseeko): Likewise.
23921         * lib/fseterr.c (fseterr): Likewise.
23922         * lib/fwritable.c (fwritable): Likewise.
23923         * lib/fwriting.c (fwriting): Likewise.
23924         Reported by Roger Cornelius <rac@tenzing.org> and
23925         Brian K. White <brian@aljex.com>.
23926
23927 2008-04-06  Jim Meyering  <meyering@redhat.com>
23928
23929         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
23930
23931 2008-04-06  Bruno Haible  <bruno@clisp.org>
23932
23933         Avoid possible error with non-ASCII bytes in UTF-8 locales.
23934         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
23935         * tests/test-printf-posix.sh: Likewise.
23936         * tests/test-vfprintf-posix.sh: Likewise.
23937         * tests/test-vprintf-posix.sh: Likewise.
23938         * tests/test-xprintf-posix.sh: Likewise.
23939
23940 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23941
23942         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
23943         hide error from 'ls', needed on OS/2.
23944         Report by Elbert Pol <elbert.pol@gmail.com>.
23945
23946 2008-04-04  Eric Blake  <ebb9@byu.net>
23947
23948         Make test-fseeko.c failures meaningful.
23949         * tests/test-fseeko.c: Print line number on failure.
23950         * tests/test-fseek.c: Likewise.
23951         Reported by Nelson H. F. Beebe.
23952
23953         Improve strtod bug detection check.
23954         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
23955         required for Solaris 10.
23956         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
23957
23958 2008-04-04  Bruno Haible  <bruno@clisp.org>
23959
23960         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
23961         by m4/setenv.m4.
23962
23963 2008-04-03  Eric Blake  <ebb9@byu.net>
23964
23965         Ensure sane .version contents.
23966         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
23967         version string.
23968         * build-aux/git-version-gen: Improve documentation.
23969
23970         Make GNU make output nicer.
23971         * top/GNUmakefile [!_have-Makefile]: Add dependency on
23972         MAKECMDGOALS to enforce message for all command line targets.  Set
23973         srcdir for use in maint.mk.
23974
23975         Another maintainer tweak.
23976         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
23977         a target that regenerates version.
23978
23979 2008-04-03  Jim Meyering  <meyering@redhat.com>
23980
23981         vc-list-files: don't cause coreutils "make po-check" failure
23982         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
23983
23984 2008-04-03  Eric Blake  <ebb9@byu.net>
23985
23986         Allow VPATH usage of vc-list-files.
23987         * build-aux/vc-list-files (scriptversion): Add timestamp.
23988         (options): Add --help, --version, -C.
23989         (CVS): Support installed cvsu.
23990
23991 2008-04-02  Bruno Haible  <bruno@clisp.org>
23992
23993         Avoid some "statement with no effect" warnings from gcc.
23994         * tests/test-wctype.c (main): Explicitly ignore unused values.
23995         Reported by Jim Meyering.
23996
23997 2008-04-02  Jim Meyering  <meyering@redhat.com>
23998
23999         Avoid some warnings from "gcc -Wshadow".
24000         * tests/test-frexp.c (exp): Define to a different identifier.
24001         * tests/test-frexpl.c (exp): Likewise.
24002
24003 2008-04-03  Jim Meyering  <meyering@redhat.com>
24004
24005         bootstrap: remove dangling *.[ch] symlinks from lib
24006         * build-aux/bootstrap [dangling symlink removal]: Move find's
24007         -depth option to precede all others, to avoid a warning.
24008         Remove *.[ch] files too, and from "$source_base" (usually lib/).
24009
24010 2008-04-02  Bruno Haible  <bruno@clisp.org>
24011
24012         Avoid some warnings from "gcc -Wshadow".
24013         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
24014         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
24015         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
24016         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
24017         Reported by Jim Meyering.
24018
24019 2008-04-01  Bruno Haible  <bruno@clisp.org>
24020
24021         Fix test to work on IRIX 6.5 with cc.
24022         * tests/test-math.c (numeric_equal): New function.
24023         (main): Use it.
24024
24025 2008-04-01  Bruno Haible  <bruno@clisp.org>
24026
24027         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
24028
24029 2008-04-01  Bruno Haible  <bruno@clisp.org>
24030
24031         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
24032         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24033         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
24034         (Depends-on): Remove math.
24035
24036         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
24037         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24038         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
24039         (Depends-on): Remove math.
24040
24041         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
24042         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24043         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
24044         (Depends-on): Remove math.
24045         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
24046         (Depends-on): Remove math.
24047
24048         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
24049         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24050         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
24051         (Depends-on): Remove math.
24052         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
24053         (Depends-on): Remove math.
24054
24055         * tests/test-round1.c: Include nan.h.
24056         (main): Use NaNd instead of NAN.
24057         * modules/round-tests (Files): Add tests/nan.h.
24058
24059         * tests/test-trunc1.c: Include nan.h.
24060         (main): Use NaNd instead of NAN.
24061         * modules/trunc-tests (Files): Add tests/nan.h.
24062
24063         * tests/test-roundf1.c: Include nan.h.
24064         (main): Use NaNf instead of NAN.
24065         * modules/roundf-tests (Files): Add tests/nan.h.
24066
24067         * tests/test-truncf1.c: Include nan.h.
24068         (main): Use NaNf instead of NAN.
24069         * modules/truncf-tests (Files): Add tests/nan.h.
24070
24071         * tests/test-ceilf1.c: Include nan.h.
24072         (main): Use NaNf instead of NAN.
24073         * modules/ceilf-tests (Files): Add tests/nan.h.
24074
24075         * tests/test-floorf1.c: Include nan.h.
24076         (main): Use NaNf instead of NAN.
24077         * modules/floorf-tests (Files): Add tests/nan.h.
24078
24079         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
24080         (main): Use NaNf instead of NAN.
24081         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
24082
24083         * tests/test-isnand.c: Include nan.h instead of <math.h>.
24084         (main): Use NaNd instead of NAN.
24085         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
24086
24087         * tests/test-frexp.c: Include nan.h.
24088         (main): Use NaNd instead of NAN.
24089         * modules/frexp-tests (Files): Add tests/nan.h.
24090
24091         * lib/isnan.c: Don't include <math.h>.
24092         (FUNC): Don't use NAN macro.
24093         * modules/isnand-nolibm (Depends-on): Remove math.
24094         * modules/isnanf-nolibm (Depends-on): Remove math.
24095         * modules/isnanl (Depends-on): Remove math.
24096         * modules/isnanl-nolibm (Depends-on): Remove math.
24097
24098         * tests/nan.h: New file.
24099
24100 2008-04-01  Eric Blake  <ebb9@byu.net>
24101
24102         Fix typos.
24103         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
24104         values to be the right type.
24105
24106         For now, cater to gnulib strtod inaccuracies.
24107         * tests/test-strtod.c (main): Allow 1-ulp error on expected
24108         fractional results.  While not as nice from a QoI perspective, it
24109         is a quicker patch than correctly implementing decimal to binary
24110         rounding.
24111
24112 2008-03-31  Eric Blake  <ebb9@byu.net>
24113
24114         Guarantee a definition of NAN.
24115         * lib/math.in.h (NAN): Define if missing.
24116         * tests/test-math.c (main): Test it.
24117         * doc/posix-headers/math.texi (math.h): Document this.
24118         * lib/isnan.c (rpl_isnand): Use it.
24119         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
24120         * tests/test-floorf1.c (NaN): Likewise.
24121         * tests/test-frexp.c (NaN): Likewise.
24122         * tests/test-isnand.c (NaN): Likewise.
24123         * tests/test-isnanf.c (NaN): Likewise.
24124         * tests/test-round1.c (NaN): Likewise.
24125         * tests/test-roundf1.c (NaN): Likewise.
24126         * tests/test-snprintf-posix.h (NaN): Likewise.
24127         * tests/test-sprintf-posix.h (NaN): Likewise.
24128         * tests/test-trunc1.c (NaN): Likewise.
24129         * tests/test-truncf1.c (NaN): Likewise.
24130         * tests/test-vasnprintf-posix.c (NaN): Likewise.
24131         * tests/test-vasprintf-posix.c (NaN): Likewise.
24132         * modules/isnand-nolibm (Depends-on): Add math.
24133         * modules/isnanf-nolibm (Depends-on): Likewise.
24134         * modules/isnanl (Depends-on): Likewise.
24135         * modules/isnanl-nolibm (Depends-on): Likewise.
24136         * modules/snprintf-posix-tests (Depends-on): Likewise.
24137         * modules/sprintf-posix-tests (Depends-on): Likewise.
24138         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
24139         * modules/vsprintf-posix-tests (Depends-on): Likewise.
24140         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
24141         * modules/vasprintf-posix-tests (Depends-on): Likewise.
24142
24143 2008-03-31  Bruno Haible  <bruno@clisp.org>
24144
24145         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
24146         * doc/posix-functions/strtod.texi: Likewise.
24147
24148 2008-03-31  Bruno Haible  <bruno@clisp.org>
24149
24150         * tests/test-strtod.c (main): Don't use C99 syntax.
24151
24152 2008-03-31  Bruno Haible  <bruno@clisp.org>
24153
24154         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
24155         Reported by Eric Blake.
24156
24157 2008-03-31  Jim Meyering  <meyering@redhat.com>
24158
24159         Don't compare actual signbit return values.
24160         * tests/test-strtod.c (main): Rather, compare only their
24161         zero/non-zero nature.
24162
24163 2008-03-31  Eric Blake  <ebb9@byu.net>
24164
24165         More strtod documentation.
24166         * doc/posix-functions/strtod.texi (strtod): Interpret more test
24167         failures as distinct bugs.
24168
24169 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
24170
24171         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
24172         Problem reported by Erik Benada in
24173         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
24174
24175 2008-03-30  Bruno Haible  <bruno@clisp.org>
24176
24177         * tests/test-strtod.c: Add comments about which assertion fails on which
24178         platform.
24179         * doc/posix-functions/strtod.texi: Add info about many more platforms.
24180
24181 2008-03-30  Eric Blake  <ebb9@byu.net>
24182
24183         Test signbit behavior on zeros.
24184         * tests/test-signbit.c (test_signbitf): Add tests for zero.
24185         (test_signbitd, test_signbitl): Likewise.
24186
24187         More strtod touchups.
24188         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
24189         sign of negative underflow, for now.  Use .5, not .1.
24190         * doc/posix-functions/strtod.texi (strtod): Mention these
24191         limitations.
24192         Reported by Jim Meyering.
24193
24194 2008-03-30  Bruno Haible  <bruno@clisp.org>
24195
24196         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
24197         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
24198
24199 2008-03-30  Bruno Haible  <bruno@clisp.org>
24200
24201         Avoid failure when attempting to return empty iconv results on some
24202         platforms.
24203         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
24204         allocation, don't report ENOMEM when the resulting string is empty.
24205
24206 2008-03-30  Bruno Haible  <bruno@clisp.org>
24207
24208         Fix buffer overrun.
24209         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
24210         Don't consider the width for tmp_length. Check count against tmp_length
24211         before doing the padding. Ensure enough allocation during padding.
24212
24213 2008-03-30  Eric Blake  <ebb9@byu.net>
24214
24215         strtod touchups.
24216         * lib/strtod.c (strtod): Avoid compiler warnings.
24217         Reported by Jim Meyering.
24218
24219 2008-03-30  Bruno Haible  <bruno@clisp.org>
24220
24221         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
24222         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
24223         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
24224         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
24225         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
24226         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
24227         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
24228         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
24229
24230         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
24231         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
24232         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
24233         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
24234         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
24235         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
24236         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
24237         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
24238
24239         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
24240         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
24241         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
24242         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
24243         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
24244         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
24245         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
24246         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
24247
24248         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
24249         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
24250
24251         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
24252         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
24253
24254         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
24255         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
24256
24257         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
24258         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
24259         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
24260
24261         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
24262         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
24263         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
24264
24265         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
24266         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
24267         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
24268
24269         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
24270         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
24271         * modules/vasprintf (Depends-on): Add EOVERFLOW.
24272
24273         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
24274         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
24275         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
24276         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
24277         (Depends-on): Add EOVERFLOW.
24278         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
24279         (Depends-on): Add EOVERFLOW.
24280         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
24281         (Depends-on): Add EOVERFLOW.
24282         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
24283         (Depends-on): Add EOVERFLOW.
24284         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
24285         (Depends-on): Add EOVERFLOW.
24286         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
24287         (Depends-on): Add EOVERFLOW.
24288         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
24289         (Depends-on): Add EOVERFLOW.
24290         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
24291         (Depends-on): Add EOVERFLOW.
24292
24293         * lib/sprintf.c (EOVERFLOW): Remove fallback.
24294         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
24295         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
24296
24297         * lib/snprintf.c (EOVERFLOW): Remove fallback.
24298         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
24299         * modules/snprintf (Depends-on): Add EOVERFLOW.
24300
24301         * lib/poll.c (EOVERFLOW): Remove fallback.
24302         * modules/poll (Depends-on): Add EOVERFLOW.
24303
24304         * lib/getugroups.c (EOVERFLOW): Remove fallback.
24305         * modules/getugroups (Depends-on): Add EOVERFLOW.
24306
24307         * lib/getdelim.c (EOVERFLOW): Remove fallback.
24308         * modules/getdelim (Depends-on): Add EOVERFLOW.
24309
24310         * lib/ftell.c (EOVERFLOW): Remove fallback.
24311         * modules/ftell (Depends-on): Add EOVERFLOW.
24312
24313         * lib/fprintf.c (EOVERFLOW): Remove fallback.
24314         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
24315         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
24316
24317         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
24318
24319         * modules/EOVERFLOW-tests: New file.
24320         * tests/test-EOVERFLOW.c: New file.
24321
24322         * modules/EOVERFLOW: New file.
24323         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
24324
24325 2008-03-30  Bruno Haible  <bruno@clisp.org>
24326
24327         Fix bug introduced on 2007-06-10.
24328         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
24329         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
24330
24331 2008-03-30  Bruno Haible  <bruno@clisp.org>
24332
24333         Improve freadseek's efficiency after ungetc.
24334         * lib/freadseek.c: Include freadahead.h.
24335         (freadptrinc): New function, extracted from freadseek.
24336         (freadseek): Use it in a loop. Use freadahead to determine the number
24337         of loop iterations.
24338         * modules/freadseek (Depends-on): Add freadahead.
24339         (configure.ac): Require AC_C_INLINE.
24340
24341 2008-03-30  Bruno Haible  <bruno@clisp.org>
24342
24343         * lib/freadseek.c (freadseek): Don't ignore the return value of
24344         freadptr.
24345
24346 2008-03-29  Eric Blake  <ebb9@byu.net>
24347
24348         Add hex float support.
24349         * modules/strtod (Depends-on): Add c-ctype.
24350         (Link): Mention POW_LIB.
24351         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
24352         whitespace between 'e' and exponent.
24353         * tests/test-strtod.c (main): Enable hex float tests.
24354         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
24355         now provides.
24356
24357         Document various strtod bugs, with some fixes.
24358         * doc/posix-functions/strtod.texi (strtod): Document bugs with
24359         "-0x", "inf", "nan", and hex constants.
24360         * doc/posix-functions/atof.texi (atof): Likewise.
24361         * modules/stdlib (Makefile.am): Support strtod.
24362         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
24363         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
24364         detect additional strtod bugs.
24365         * lib/stdlib.in.h (rpl_strtod): Add declarations.
24366         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
24367         bool where appropriate.  Parse 'inf' and 'nan'.
24368         * tests/test-strtod.c: New file.
24369         * modules/strtod (Depends-on): Add stdbool, stdlib.
24370         (configure.ac): Turn on module indicator.
24371         * modules/strtod-tests: New module.
24372
24373 2008-03-29  Eric Blake  <ebb9@byu.net>
24374
24375         Fix ftell on mingw.
24376         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
24377         * modules/ftell-tests (Depends-on): Add binary-io.
24378         * modules/ftello-tests (Depends-on): Likewise.
24379         * tests/test-ftell.c (main): Enhance test to cover behavior after
24380         ungetc.  Enforce binary mode.
24381         * tests/test-ftello.c (main): Likewise.
24382
24383         Pass test-freadseek on cygwin.
24384         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
24385         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
24386         ungetc buffer.
24387
24388         * tests/test-fflush2.c (main): Fix typo.
24389
24390 2008-03-29  Bruno Haible  <bruno@clisp.org>
24391
24392         * tests/test-fflush2.c (main): Temporarily disable the contents of
24393         this test.
24394         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
24395         Reported by Eric Blake.
24396
24397 2008-03-28  Simon Josefsson  <simon@josefsson.org>
24398
24399         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
24400         (GC_SHA224_DIGEST_SIZE): Add.
24401
24402         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
24403         (gc_hash_digest_length): Likewise.
24404         (gc_hash_buffer): Likewise.
24405
24406 2008-03-25  Bruno Haible  <bruno@clisp.org>
24407
24408         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
24409         detail which gettext release to use.
24410         Reported by Simon Josefsson.
24411
24412 2008-03-26  Jim Meyering  <meyering@redhat.com>
24413
24414         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
24415         * modules/gnumakefile (clean-GNUmakefile): Also, use
24416         test ... && ... || : syntax rather than if-then ... fi.
24417
24418         gnumakefile: Don't double-quote-expand $(VPATH) value.
24419         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
24420
24421 2008-03-24  Eric Blake  <ebb9@byu.net>
24422
24423         Alter GNUmakefile to install into top directory.
24424         * modules/maintainer-makefile: Split, and add dependency...
24425         * modules/gnumakefile: to this new module.
24426         * build-aux/GNUmakefile: Move...
24427         * top/GNUmakefile: ...here.
24428         * build-aux/maint.mk: Move...
24429         * top/maint.mk: ...here.
24430         * MODULES.html.sh (Support for maintaining...): Document new
24431         module.
24432
24433 2008-03-23  Bruno Haible  <bruno@clisp.org>
24434
24435         * gnulib-tool: New options --vc-files, --no-vc-files.
24436         (func_usage): Document them.
24437         (vc_files): New variable.
24438         (func_import): Consider vc_files.
24439         (func_create_testdir): Set vc_files to empty.
24440         Suggested by Jim Meyering and Karl Berry.
24441
24442 2008-03-23  Bruno Haible  <bruno@clisp.org>
24443
24444         Fix regex compilation error on HP-UX 11.
24445         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
24446         * modules/regex (Files): Add m4/mbstate_t.m4.
24447         Reported by Ton Voon <ton.voon@altinity.com>.
24448
24449 2008-03-23  Bruno Haible  <bruno@clisp.org>
24450
24451         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
24452
24453 2008-03-23  Eric Blake  <ebb9@byu.net>
24454             Bruno Haible  <bruno@clisp.org>
24455
24456         Install files from top/ in the destination directory.
24457         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
24458         augmentation also for the files from top/.
24459         (func_import, func_create_testdir): Rewrite file names:
24460         top/filename -> filename.
24461
24462 2008-03-23  Bruno Haible  <bruno@clisp.org>
24463
24464         Tweak "gnulib --version" output.
24465         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
24466
24467 2008-03-23  Bruno Haible  <bruno@clisp.org>
24468
24469         Tweak "gnulib --version" output.
24470         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
24471         rather than contents of ChangeLog, when possible.
24472
24473 2008-03-21  Eric Blake  <ebb9@byu.net>
24474
24475         More --version tweaks.
24476         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
24477         date of last ChangeLog entry.
24478
24479 2008-03-21  Jim Meyering  <meyering@redhat.com>
24480
24481         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
24482
24483 2008-03-20  Eric Blake  <ebb9@byu.net>
24484
24485         VPATH fix.
24486         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
24487
24488 2008-03-20  Simon Josefsson  <simon@josefsson.org>
24489
24490         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
24491         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
24492
24493 2008-03-20  Eric Blake  <ebb9@byu.net>
24494
24495         Sync GNUmakefile with coreutils.
24496         * build-aux/GNUmakefile (have-Makefile): Rename...
24497         (_have-Makefile): ...to this, for namespace consideration.
24498         (GNUmakefile.cfg): Include, if present.
24499         (_autoreconf): Define a default.
24500         (_is-dist-target): New rule for rebuilds to pick up intra-release
24501         version.
24502         (maint-cfg.mk): Rename...
24503         (cfg.mk): ...to this.
24504
24505 2008-03-18  Jim Meyering  <meyering@redhat.com>
24506
24507         New script and module: mktempd
24508         * MODULES.html.sh (maint+release support): Add mktempd.
24509         * build-aux/mktempd: New file.
24510         * modules/mktempd: New file.
24511
24512 2008-03-15  Jim Meyering  <meyering@redhat.com>
24513
24514         Undo last change.
24515         * lib/sha1.c, lib/md5.c: 63 != ~63.
24516         Reported by Andreas Schwab.
24517
24518         sha1.c, md5.c: Hoist a redundant expression.
24519         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
24520         "ctx->buflen" only once, before calling *_process_block.
24521         * lib/md5.c (md5_process_bytes): Likewise.
24522
24523 2008-03-14  Eric Blake  <ebb9@byu.net>
24524
24525         Bump copyright year in files generated by gnulib-tool.
24526         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
24527         gnulib-tool, rather than hard-coding it.
24528
24529         Fix 'gnulib-tool --version' output to work with git.
24530         * gnulib-tool (func_gnulib_dir): New function, extracted from...
24531         (startup): ...here.
24532         (func_version): Use it to invoke git-version-gen, rather than
24533         relying on CVS keyword expansion.  Modernize wording.
24534         (cvsdatestamp, last_checkin_date, version): Kill unused
24535         variables.
24536
24537 2008-03-12  Jim Meyering  <meyering@redhat.com>
24538
24539         Recognize optional cast of the argument to free.
24540         * build-aux/useless-if-before-free: Update regexps.
24541
24542         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
24543
24544 2008-03-11  Bruno Haible  <bruno@clisp.org>
24545
24546         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
24547         by a single package.
24548         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
24549         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
24550         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
24551         Reported by Sam Steingold <sds@gnu.org>.
24552
24553 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24554
24555         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
24556         repositories.
24557
24558 2008-03-11  Bruno Haible  <bruno@clisp.org>
24559
24560         Avoid conflicts between local macro definitions.
24561         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24562         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
24563
24564 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
24565             Bruno Haible  <bruno@clisp.org>
24566
24567         Make va_copy work with some version of xlc on AIX 5.1.
24568         * lib/stdarg.in.h: New file.
24569         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
24570         On AIX, use a <stdarg.h> file substitute.
24571         * modules/stdarg (Files): Add lib/stdarg.in.h.
24572         (Depends-on): Add include_next.
24573         (Makefile.am): Build a stdarg.h substitute if requested.
24574         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
24575
24576 2008-03-10  Bruno Haible  <bruno@clisp.org>
24577
24578         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
24579         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24580         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
24581
24582 2008-03-10  Bruno Haible  <bruno@clisp.org>
24583
24584         * modules/stdlib (Depends-on): Add include_next, remove
24585         absolute-header.
24586
24587 2008-03-09  Bruno Haible  <bruno@clisp.org>
24588
24589         * lib/freadahead.h (freadahead): Document more precisely.
24590         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
24591         the sum of both buffer sizes.
24592         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
24593         * NEWS: Document the change.
24594
24595 2008-03-09  Bruno Haible  <bruno@clisp.org>
24596
24597         Extend freadptr to return also the buffer size.
24598         * lib/freadptr.h (freadptr): Add sizep argument.
24599         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
24600         (freadptr): Add sizep argument. Determine buffer size like freadahead
24601         does.
24602         * tests/test-freadptr.c: Don't include freadahead.h.
24603         (main): Adapt for new calling convention of freadptr.
24604         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
24605         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
24606         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
24607         tests/test-freadptr2.sh.
24608         (Depends): Remove freadahead.
24609         (TESTS): Add test-freadptr2.sh.
24610         (check_PROGRAMS): Add test-freadptr2.
24611
24612 2008-03-09  Bruno Haible  <bruno@clisp.org>
24613
24614         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
24615         Report and solution by Simon Josefsson.
24616
24617 2008-03-06  Bruno Haible  <bruno@clisp.org>
24618
24619         Make fflush after ungetc work on BSD platforms.
24620         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
24621         * tests/test-fflush2.c: New file.
24622         * tests/test-fflush2.sh: New file.
24623         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
24624         tests/test-fflush2.c.
24625         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
24626         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
24627
24628 2008-03-06  Eric Blake  <ebb9@byu.net>
24629
24630         Likewise for ftello.
24631         * modules/ftello (Dependencies): Add extensions.
24632         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
24633
24634 2008-03-06  Bruno Haible  <bruno@clisp.org>
24635
24636         * modules/fseeko (Dependencies): Add extensions.
24637         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
24638         Needed on glibc systems.
24639
24640 2008-03-06  Bruno Haible  <bruno@clisp.org>
24641
24642         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
24643         email address.
24644         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24645
24646 2008-03-06  Bruno Haible  <bruno@clisp.org>
24647
24648         * users.txt: Add libgnupdf.
24649
24650 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24651
24652         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
24653         (Header File Substitutes, Function Substitutes,
24654         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
24655         (Build robot for gnulib): Fix typo.
24656
24657 2008-03-06  Bruno Haible  <bruno@clisp.org>
24658
24659         * doc/gnulib-tool.texi (VCS Issues): Small updates.
24660         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24661
24662 2008-03-06  Bruno Haible  <bruno@clisp.org>
24663
24664         * doc/func.texi: New file, extracted from doc/gnulib.texi.
24665         * doc/gnulib.texi: Include it.
24666
24667 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24668
24669         * modules/func (License): Change license to unlimited; there was
24670         no LGPL parts in the module anyway.
24671
24672 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24673
24674         * modules/__func__: Renamed to modules/func.
24675         * modules/__func__-tests: Renamed to modules/func-tests.
24676         * tests/test-__func__.c: Renamed to tests/test-func.c.
24677         * m4/__func__.m4: Renamed to m4/func.m4.
24678         * doc/gnulib.texi (__func__): Section renamed to func.
24679         Suggested by Eric Blake <ebb9@byu.net>.
24680
24681 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24682
24683         * doc/gnulib.texi (__func__): Use C99 terminology when talking
24684         about __func__.  Make example self-contained.  Suggested by Eric
24685         Blake <ebb9@byu.net>.
24686
24687         * tests/test-__func__.c (main): Avoid extraneous () around __func.
24688         Suggested by Eric Blake <ebb9@byu.net>.
24689
24690 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24691
24692         * modules/__func__: New file.
24693         * modules/__func__-tests: New file.
24694         * tests/test-__func__.c: New file.
24695         * m4/__func__.m4: New file.
24696         * doc/gnulib.texi (__func__): Document __func__ module.
24697
24698 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24699
24700         * modules/byteswap (License): Re-license as LGPLv2+.
24701
24702 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24703
24704         * doc/Makefile: Add pdf target.
24705
24706 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24707
24708         * modules/inline (License): Use 'unlimited', since there are only
24709         *.m4 files in this module.
24710
24711 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
24712             Bruno Haible  <bruno@clisp.org>
24713
24714         Add support for HP C 7.1 on OpenVMS 8.3.
24715         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
24716
24717 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
24718
24719         Update VMS specifics.
24720         * lib/getopt.c [VMS]: Remove include of unixlib.h.
24721
24722 2008-03-02  Jim Meyering  <meyering@redhat.com>
24723
24724         Remove the last dependency on the "free" module.
24725         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
24726         Reported by Bob Proulx.
24727
24728         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
24729
24730         Remove useless "if" tests before free.  Deprecate "free" module.
24731         * doc/posix-functions/free.texi: Mention that this
24732         module is no longer useful.
24733         * modules/free (Notice): Say this module is obsolete.
24734         * modules/readutmp (Depends-on): Remove free.
24735         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
24736         * lib/putenv.c (putenv): Likewise.
24737         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
24738         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
24739         * tests/test-c-strcasestr.c (main): Likewise.
24740         * tests/test-c-strstr.c (main): Likewise.
24741         * tests/test-mbscasestr1.c (main): Likewise.
24742         * tests/test-mbscasestr2.c (main): Likewise.
24743         * tests/test-mbsstr1.c (main): Likewise.
24744         * tests/test-mbsstr2.c (main): Likewise.
24745         * tests/test-memmem.c (main): Likewise.
24746         * tests/test-strcasestr.c (main): Likewise.
24747         * tests/test-striconv.c (main): Likewise.
24748         * tests/test-striconveh.c (main): Likewise.
24749         * tests/test-striconveha.c (main): Likewise.
24750         * tests/test-strstr.c (main): Likewise.
24751
24752         * build-aux/git-version-gen: Adjust a comment and the Usage string.
24753
24754         bootstrap: sync from coreutils again
24755         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
24756
24757 2008-03-01  Jim Meyering  <meyering@redhat.com>
24758
24759         bootstrap: sync from coreutils
24760         * build-aux/bootstrap (update_po_files): Copy a .po file into place
24761         also when the target doesn't exist.
24762
24763 2008-03-01  Eric Blake  <ebb9@byu.net>
24764
24765         Fix bugs in last patch.
24766         * lib/memchr2.c (memchr2): Fix typo.
24767         * tests/test-memchr2.c: Test previous bug, and don't use GNU
24768         extension.
24769         Reported by Bruce Korb.
24770
24771         New module 'memchr2'.
24772         * modules/memchr2: New file.
24773         * modules/memchr2-tests: Likewise.
24774         * lib/memchr2.h: Likewise.
24775         * lib/memchr2.c: Likewise, based on memchr.c.
24776         * tests/test-memchr2.c: New test.
24777         * MODULES.html.sh (String handling): Add memchr2.
24778
24779 2008-02-29  Bruno Haible  <bruno@clisp.org>
24780
24781         * modules/freadseek-tests: New file.
24782         * tests/test-freadseek.sh: New file.
24783         * tests/test-freadseek.c: New file.
24784
24785         New module 'freadseek'.
24786         * modules/freadseek: New file.
24787         * lib/freadseek.h: New file.
24788         * lib/freadseek.c: New file.
24789         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
24790
24791 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
24792
24793         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
24794         wydawca.
24795
24796         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
24797         program_invocation_name and program_invocation_short_name are
24798         present.
24799
24800 2008-02-28  Bruno Haible  <bruno@clisp.org>
24801
24802         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
24803         * tests/test-freadptr.sh: Also test non-seekable stdin.
24804
24805 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
24806
24807         * build-aux/bootstrap (source_base, m4_base)
24808         (doc_base, tests_base): New variables.
24809         (gnulib_tool_options): Do not hardcode base directories, use
24810         the above variables instead.
24811
24812 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
24813
24814         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
24815
24816 2008-02-28  Bruno Haible  <bruno@clisp.org>
24817
24818         * modules/freadptr-tests: New file.
24819         * tests/test-freadptr.sh: New file.
24820         * tests/test-freadptr.c: New file.
24821
24822         New module 'freadptr'.
24823         * modules/freadptr: New file.
24824         * lib/freadptr.h: New file.
24825         * lib/freadptr.c: New file.
24826         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
24827
24828 2008-02-26  Karl Berry  <karl@freefriends.org>
24829
24830         Sync from Libtool:
24831         * libltdl/argz.c (argz_add, argz_count): New functions.
24832         * libltdl/argz.in.h: Declare them.
24833         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
24834
24835 2008-02-22  Bruno Haible  <bruno@clisp.org>
24836
24837         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
24838         is a pointer type.  Needed for HP-UX 10.
24839         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
24840         * doc/posix-functions/gmtime_r.texi: Likewise.
24841         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
24842
24843 2008-02-24  Bruno Haible  <bruno@clisp.org>
24844
24845         * modules/environ-tests: New file.
24846         * tests/test-environ.c: New file.
24847
24848         New module 'environ'.
24849         * modules/environ: New file.
24850         * lib/unistd.in.h (environ): New declaration.
24851         * m4/environ.m4: New file.
24852         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
24853         after use.
24854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
24855         HAVE_DECL_ENVIRON.
24856         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
24857         HAVE_DECL_ENVIRON.
24858         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
24859         wrong claim that 'environ' is missing on some systems.
24860         * modules/execute (Depends-on): Add environ.
24861         * lib/execute.c (environ): Remove fallback declaration.
24862         * modules/pipe (Depends-on): Add environ.
24863         * lib/pipe.c (environ): Remove fallback declaration.
24864         * modules/setenv (Depends-on): Add environ.
24865         * lib/setenv.c (environ): Remove fallback declaration.
24866         * modules/unsetenv (Depends-on): Add environ.
24867         * lib/unsetenv.c (environ): Remove fallback declaration.
24868         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
24869         m4/environ.m4.
24870         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
24871         (gl_PREREQ_UNSETENV): Likewise.
24872
24873 2008-02-24  Bruno Haible  <bruno@clisp.org>
24874
24875         * doc/posix-functions/environ.texi: Document the MacOS X problem.
24876
24877 2008-02-20  Bob Proulx  <bob@proulx.com>
24878
24879         Enable use of older two part flavor 'git describe'.
24880         * build-aux/git-version-gen: If using the older two part flavor of
24881         git version then recreate the third part now present in the
24882         newer three part flavor of git describe.
24883
24884 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
24885
24886         * lib/fts.c (fts_build): Typo correction to comment.
24887
24888 2008-02-17  Bruno Haible  <bruno@clisp.org>
24889
24890         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
24891         generating no-op conflicts.
24892
24893 2008-02-17  Bruno Haible  <bruno@clisp.org>
24894
24895         Speed up by 10%.
24896         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
24897         result_entries, rather than an index-based loop.
24898
24899 2008-02-17  Bruno Haible  <bruno@clisp.org>
24900
24901         Speed up by 25%.
24902         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
24903         'hashcode_cached'.
24904         (entry_create): New function.
24905         (entry_hashcode): Use the cached hashcode if possible.
24906         (read_changelog_file, try_split_merged_entry): Use entry_create.
24907
24908 2008-02-17  Bruno Haible  <bruno@clisp.org>
24909
24910         Speed up from O(n^2) to O(n) for long ChangeLog files.
24911         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
24912         (read_changelog_file): Change implementation of entries_reversed list
24913         to rbtreehash.
24914         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
24915
24916 2008-02-17  Bruno Haible  <bruno@clisp.org>
24917
24918         New option --split-merged-entry.
24919         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
24920         (find_paragraph_end, try_split_merged_entry): New functions.
24921         (long_options): Add option --split-merged-entry.
24922         (usage): Document option --split-merged-entry.
24923         (main): Implement option --split-merged-entry.
24924         Reported by Eric Blake.
24925
24926 2008-02-17  Bruno Haible  <bruno@clisp.org>
24927
24928         * lib/git-merge-changelog.c: Include c-strstr.h.
24929         (main): Support the "git pull --rebase" situation.
24930         * modules/git-merge-changelog (Depends-on): Add c-strstr.
24931         Reported by Eric Blake.
24932
24933 2008-02-16  Eric Blake  <ebb9@byu.net>
24934
24935         Avoid doubling \ in common case of "c-maybe" quoting style.
24936         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
24937         eliding outer quotes.
24938         * lib/quotearg.h: Document this.
24939         * tests/test-quotearg.c (result_strings, inputs, results_g)
24940         (flag_results, locale_results): Test it by adding a new string to
24941         each test group.
24942         (compare_strings): Test new string.
24943
24944 2008-02-13  Eric Blake  <ebb9@byu.net>
24945
24946         Avoid trigraph quoting in default output.
24947         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
24948         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
24949         unless explicitly requested.
24950         * tests/test-quotearg.c (flag_results, main): Add additional tests.
24951
24952 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
24953
24954         Don't rely on signed integer overflowing to negative value.
24955         * lib/getugroups.c (getugroups): Include <limits.h>.
24956         Instead, compare against INT_MAX, and increment only if the test passes.
24957
24958 2008-02-13  Jim Meyering  <meyering@redhat.com>
24959         and Eric Blake  <ebb9@byu.net>
24960
24961         Avoid shadowing warning and compile errors on Linux.
24962         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
24963         forwarding macros on Linux.
24964         (dcgettext): Define a stub, for Linux.
24965         (results_g, main): Avoid warnings.
24966
24967 2008-02-12  Eric Blake  <ebb9@byu.net>
24968
24969         Silence warning in last patch.
24970         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
24971
24972         Quotearg part 4: add tests, fix c-maybe colon quoting.
24973         * lib/quotearg.h: Improve documentation.
24974         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
24975         escapes when adding outer quotes.  When quoting trigraphs, use
24976         valid C notation.  When quoting NUL, omit extra characters if next
24977         character is not digit.  Alter prototype.
24978         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
24979         callers.
24980         * modules/quotearg-tests: New module.
24981         * tests/test-quotearg.c: New test.
24982
24983 2008-02-07  Eric Blake  <ebb9@byu.net>
24984
24985         Quotearg part 3: add flag to control outer quote elision.
24986         * lib/quotearg.h (c_maybe_quoting_style): New style.
24987         (enum quoting_flags): Better documentation of flags.
24988         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
24989         c-maybe style.
24990         (quotearg_buffer_restyled): Handle new flag to elide outer
24991         quotes.
24992
24993         Quotearg part 2: add flag that can control NUL elision.
24994         * lib/quotearg.h (set_quoting_flags): New prototype.
24995         * lib/quotearg.c (struct quoting_options): Add flag field.
24996         (set_quoting_flags): New function.
24997         (quotearg_buffer_restyled): Add flags parameter.
24998         (quotearg_alloc_mem): Set the flag if length cannot be returned.
24999         (quotearg_n_options): Set the flag, since length cannot be
25000         returned.
25001         (quoting_options_from_style): Default flags correctly.
25002
25003         Quotearg part 1: more wrappers, restore quotearg_char state.
25004         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
25005         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
25006         (quotearg_colon_mem): New wrappers.
25007         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
25008         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
25009         functions.
25010         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
25011         (quotearg_colon_mem): New functions.
25012
25013 2008-02-11  Bruno Haible  <bruno@clisp.org>
25014
25015         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
25016         library in the current directory: it does not work with parallel make.
25017         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25018
25019 2008-02-11  Bruno Haible  <bruno@clisp.org>
25020
25021         * .gitattributes: New file.
25022
25023 2008-02-11  Jim Meyering  <meyering@redhat.com>
25024
25025         useless-if-before-free: Fix reversed exit values.
25026         * build-aux/useless-if-before-free: Use correct values
25027         for EXIT_MATCH and EXIT_NO_MATCH.
25028
25029         * build-aux/useless-if-before-free: Close stdout carefully.
25030
25031 2008-02-10  Bruno Haible  <bruno@clisp.org>
25032
25033         New module 'git-merge-changelog'.
25034         * modules/git-merge-changelog: New file.
25035         * lib/git-merge-changelog.c: New file.
25036
25037 2008-02-10  Jim Meyering  <meyering@redhat.com>
25038
25039         useless-if-before-free: New option: --list (-l).
25040
25041         useless-if-before-free: Don't exit immediately upon open failure.
25042         * build-aux/useless-if-before-free: Exit 2 for errors.
25043         Upon failure to open a file, don't exit immediately.
25044         Rather, just warn and continue with any remaining files.
25045
25046 2008-02-10  Bruno Haible  <bruno@clisp.org>
25047
25048         New abstract list operation 'node_set_value'.
25049         * lib/gl_list.h (gl_list_node_set_value): New function.
25050         (struct gl_list_implementation): New field node_set_value.
25051         * lib/gl_list.c (gl_list_node_set_value): New function.
25052         * lib/gl_array_list.c (gl_array_node_set_value): New function.
25053         (gl_array_list_implementation): Update.
25054         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
25055         (gl_carray_list_implementation): Update.
25056         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
25057         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
25058         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
25059         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
25060         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
25061         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
25062         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
25063         Update.
25064         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
25065         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
25066         (gl_sublist_list_implementation): Update.
25067
25068 2008-02-10  Bruno Haible  <bruno@clisp.org>
25069
25070         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
25071         Needed when ELEMENT is #defined to 'some_type *'.
25072
25073 2008-02-10  Jim Meyering  <meyering@redhat.com>
25074
25075         New script and module: useless-if-before-free
25076         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
25077         * build-aux/useless-if-before-free: New file.
25078         * modules/useless-if-before-free: New file.
25079
25080         * build-aux/gitlog-to-changelog: Use committer date, not author date.
25081
25082         xstrtol_error: Fix typo.
25083         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
25084         s/exit_failure/exit_status/.
25085
25086 2008-02-09  Jim Meyering  <meyering@redhat.com>
25087
25088         New script and module: gitlog-to-changelog
25089         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
25090         * modules/gitlog-to-changelog: New file.
25091         * build-aux/gitlog-to-changelog: New file.
25092
25093 2008-02-08  Jim Meyering  <meyering@redhat.com>
25094
25095         Avoid two "parameter unused" warnings.
25096         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
25097         Mark "st" as used.
25098
25099         Use "git COMMAND", not "git-COMMAND".
25100         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
25101         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
25102         * build-aux/git-version-gen: Use "git status", not "git-status".
25103
25104 2008-02-07  Bruno Haible  <bruno@clisp.org>
25105
25106         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
25107         Avoids a crash on Windows Vista.
25108         Reported by Adam Strzelecki <ono@java.pl> via
25109         Simon Josefsson <simon@josefsson.org>.
25110
25111 2008-02-06  Bruno Haible  <bruno@clisp.org>
25112
25113         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
25114         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
25115         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
25116         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
25117         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
25118         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25119         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
25120         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
25121         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
25122         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25123         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25124         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25125         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25126         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25127         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25128         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
25129         left-adjust flag.
25130         * tests/test-snprintf-posix.h (test_function): Likewise.
25131         * tests/test-sprintf-posix.h (test_function): Likewise.
25132         * tests/test-vasprintf-posix.c (test_function): Likewise.
25133         * doc/posix-functions/fprintf.texi: Update.
25134         * doc/posix-functions/printf.texi: Update.
25135         * doc/posix-functions/snprintf.texi: Update.
25136         * doc/posix-functions/sprintf.texi: Update.
25137         * doc/posix-functions/vfprintf.texi: Update.
25138         * doc/posix-functions/vprintf.texi: Update.
25139         * doc/posix-functions/vsnprintf.texi: Update.
25140         * doc/posix-functions/vsprintf.texi: Update.
25141         Reported by Peter Fales <psfales@alcatel-lucent.com>.
25142
25143 2008-02-06  Bruno Haible  <bruno@clisp.org>
25144
25145         Fix bug introduced on 2008-01-26.
25146         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
25147
25148 2008-02-06  Bruno Haible  <bruno@clisp.org>
25149
25150         Fix bug introduced on 2007-06-10.
25151         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
25152         !NEED_PRINTF_FLAG_ZERO.
25153
25154 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
25155
25156         getloadavg: use libperfstat on AIX5
25157         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
25158
25159 2008-02-03  Bruno Haible  <bruno@clisp.org>
25160
25161         * lib/diffseq.h: Add comments about required #includes.
25162         Reported by Michael Biggs <gnulib@doubleplum.net>.
25163
25164 2008-02-01  Bruno Haible  <bruno@clisp.org>
25165
25166         * users.txt: Add gnuit.
25167
25168 2008-01-31  Bruno Haible  <bruno@clisp.org>
25169
25170         * lib/md4.c (set_uint32): Mark as inline.
25171         * lib/md5.c (set_uint32): Likewise.
25172         * lib/sha1.c (set_uint32): Likewise.
25173         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
25174         * m4/md5.m4 (gl_MD5): Likewise.
25175         * m4/sha1.m4 (gl_SHA1): Likewise.
25176
25177 2008-01-31  Jim Meyering  <meyering@redhat.com>
25178
25179         Use "sizeof VAR", rather than a literal "4".
25180         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
25181         * lib/md4.c (md4_read_ctx): Likewise.
25182         * lib/sha1.c (sha1_read_ctx): Likewise.
25183
25184 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25185
25186         * tests/test-sha1.c: New file, based on test-md5.c.
25187
25188         * modules/crypto/sha1-tests: New file.
25189
25190 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25191
25192         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
25193
25194 2008-01-31  Jim Meyering  <meyering@redhat.com>
25195
25196         Prefer "sizeof v" over the equivalent "4".
25197         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
25198         * lib/md5.c (set_uint32): Likewise.
25199         * lib/sha1.c (set_uint32): Likewise.
25200
25201 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25202
25203         * lib/sha1.c (set_uint32): Mark function as static.
25204
25205 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25206
25207         md2: clarify comments to say that alignment is not required.
25208         * lib/md2.h: Remove warning about alignment in comment.
25209         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
25210         never been required.
25211
25212 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25213
25214         md4: adapt alignment constraint fix from sha1.
25215         * lib/md4.c (set_uint32): New function, from sha1.c
25216         (md4_read_ctx): Use it.
25217         (md4_finish_ctx): Doc fix.
25218         * lib/md4.h: Doc fix.
25219
25220 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25221
25222         md5: adapt alignment constraint fix from sha1.
25223         * lib/md5.c (set_uint32): New function, from sha1.c
25224         (md5_read_ctx): Use it.
25225         (md5_finish_ctx): Doc fix.
25226         * lib/md5.h: Doc fix.
25227
25228 2008-01-30  Peter Palfrader  <weasel@debian.org>
25229
25230         sha1: remove the result buffer alignment constraint
25231         * lib/sha1.c (set_uint32): New function.
25232         (sha1_read_ctx): Rewrite to remove the result buffer alignment
25233         constraint.
25234         (sha1_finish_ctx): Remove comment warning about alignment constraint.
25235         * lib/sha1.h: Likewise.
25236
25237 2008-01-30  Andreas Schwab  <schwab@suse.de>
25238             Bruno Haible  <bruno@clisp.org>
25239
25240         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
25241         correct definition of LDBL_MIN_EXP.
25242
25243 2008-01-30  Karl Berry  <karl@gnu.org>
25244
25245         * config/srclist-update: try to preserve x bit on updates.
25246         * config/srclistvars.sh: update for karl.
25247
25248 2008-01-29  Jim Meyering  <meyering@redhat.com>
25249
25250         vasnprintf.c: Avoid warning about unused label
25251         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
25252         "overflow" label definition and associated code with the
25253         same cpp condition that guards the sole use of that label.
25254
25255 2008-01-26  Bruno Haible  <bruno@clisp.org>
25256
25257         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
25258         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
25259         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
25260         * lib/isnanl-nolibm.h (isnanl): Likewise.
25261         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25262
25263 2008-01-26  Bruno Haible  <bruno@clisp.org>
25264
25265         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
25266         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
25267
25268 2008-01-26  Bruno Haible  <bruno@clisp.org>
25269
25270         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
25271         GCC >= 4.0 built-in.
25272         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
25273
25274 2008-01-26  Bruno Haible  <bruno@clisp.org>
25275
25276         Rename isnan, applicable to 'double' only, to isnand.
25277         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
25278         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
25279         (configure.ac): Update.
25280         (Include): Replace "isnan.h" with "isnand.h".
25281         * m4/isnand.m4: Renamed from m4/isnan.m4.
25282         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
25283         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
25284         instead of isnan.c.
25285         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
25286         instead of HAVE_ISNAN_IN_LIBC.
25287         (isnand): Renamed from isnan.
25288         * lib/isnand.c: New file.
25289         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
25290         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
25291         (Makefile.am): Update.
25292         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
25293         Include isnand.h instead of isnan.h.
25294         (main): Test isnand instead of isnan.
25295         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
25296         isnan-nolibm.
25297         * modules/frexp (Depends-on): Likewise.
25298         * modules/frexp-tests (Depends-on): Likewise.
25299         * modules/frexp-nolibm (Depends-on): Likewise.
25300         * modules/frexp-nolibm-tests (Depends-on): Likewise.
25301         * modules/isfinite (Depends-on): Likewise.
25302         * modules/round-tests (Depends-on): Likewise.
25303         * modules/signbit (Depends-on): Likewise.
25304         * modules/signbit-tests (Depends-on): Likewise.
25305         * modules/snprintf-posix (Depends-on): Likewise.
25306         * modules/sprintf-posix (Depends-on): Likewise.
25307         * modules/trunc-tests (Depends-on): Likewise.
25308         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25309         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25310         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25311         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25312         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25313         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25314         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25315         * modules/vasnprintf-posix (Depends-on): Likewise.
25316         * modules/vasprintf-posix (Depends-on): Likewise.
25317         * modules/vfprintf-posix (Depends-on): Likewise.
25318         * modules/vsnprintf-posix (Depends-on): Likewise.
25319         * modules/vsprintf-posix (Depends-on): Likewise.
25320         * lib/frexp.c: Include isnand.h instead of isnan.h.
25321         (ISNAN): Set to isnand instead of isnan.
25322         * lib/isfinite.c: Include isnand.h instead of isnan.h.
25323         (gl_isfinited): Use isnand instead of isnan.
25324         * lib/signbitd.c: Include isnand.h instead of isnan.h.
25325         (gl_signbitd): Use isnand instead of isnan.
25326         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
25327         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
25328         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
25329         (main): Use isnand instead of isnan.
25330         * tests/test-round1.c: Include isnand.h.
25331         (main): Use isnand instead of isnan.
25332         * tests/test-round2.c: Include isnand.h instead of isnan.h.
25333         (ISNAN): Set to isnand instead of isnan.
25334         * tests/test-trunc1.c: Include isnand.h.
25335         (main): Use isnand instead of isnan.
25336         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
25337         (equal): Use isnand instead of isnan.
25338         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
25339         isnand-nolibm.
25340         * NEWS: Mention the change.
25341
25342 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
25343             Bruno Haible  <bruno@clisp.org>
25344
25345         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
25346         the GCC builtins for signbits are present and set
25347         REPLACE_SIGNBIT_USING_GCC if so.
25348         * lib/math.in.h (signbit): Define using GCC builtins if
25349         REPLACE_SIGNBIT_USING_GCC is set.
25350         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
25351         REPLACE_SIGNBIT_USING_GCC.
25352         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
25353
25354 2008-01-25  Jim Meyering  <meyering@redhat.com>
25355
25356         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
25357         * lib/poll.c: Include <config.h>, not "config.h".
25358         * tests/test-getaddrinfo.c: Likewise.
25359
25360 2008-01-25  Simon Josefsson  <simon@josefsson.org>
25361
25362         * modules/sockets-tests: New file.
25363
25364 2008-01-24  Simon Josefsson  <simon@josefsson.org>
25365
25366         * modules/sockets: New module, can be used to call WSA_Startup and
25367         WSA_Cleanup when needed.
25368
25369         * lib/sockets.h, lib/sockets.c: New files.
25370
25371         * m4/sockets.m4: New file.
25372
25373         * tests/test-sockets.c: New file.
25374
25375 2008-01-19  Bruno Haible  <bruno@clisp.org>
25376
25377         * doc/posix-headers: Renamed from doc/headers.
25378         * doc/posix-functions: Renamed from doc/functions.
25379         * doc/gnulib.texi: Update.
25380
25381 2008-01-19  Bruno Haible  <bruno@clisp.org>
25382
25383         * doc/glibc-functions/strcasestr.texi: Include contents of
25384         doc/functions/strcasestr.texi, fixing the list of platforms.
25385         * doc/functions/strcasestr.texi: Remove file.
25386
25387 2008-01-19  Bruno Haible  <bruno@clisp.org>
25388
25389         * doc/glibc-functions/memmem.texi: Include contents of
25390         doc/functions/memmem.texi.
25391         * doc/functions/memmem.texi: Remove file.
25392
25393 2008-01-18  Bruno Haible  <bruno@clisp.org>
25394
25395         * doc/glibc-functions/*.texi: New files.
25396         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
25397         to use the new files.
25398
25399 2008-01-17  Bruno Haible  <bruno@clisp.org>
25400
25401         * tests/test-gethostname.c (main): Fix printf statement.
25402
25403 2008-01-17  Simon Josefsson  <simon@josefsson.org>
25404
25405         * modules/gethostname-tests: New file.
25406
25407         * tests/test-gethostname.c: New file.
25408
25409 2008-01-17  Simon Josefsson  <simon@josefsson.org>
25410
25411         * lib/gethostname.c: Include string.h unconditionally, strncpy is
25412         used by the UNAME case.  Reported by Bruno Haible
25413         <bruno@clisp.org>.
25414
25415 2008-01-17  Eric Blake  <ebb9@byu.net>
25416
25417         Convert c-strcasestr to be more efficient.
25418         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
25419         (Depends-on): Add c-strcase, remove malloca, strnlen.
25420         * tests/test-c-strcasestr.c (main): Enhance test.
25421         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
25422
25423 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
25424
25425         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
25426         Use it in creating po/Makevars.
25427
25428 2008-01-15  Simon Josefsson  <simon@josefsson.org>
25429
25430         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
25431         Applications that requires it should initialize libgcrypt
25432         manually.
25433
25434 2008-01-16  Simon Josefsson  <simon@josefsson.org>
25435
25436         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
25437
25438 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25439
25440         Fix problem with getdate on mingw32 reported by Simon Josefsson
25441         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
25442         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
25443         tzname", when deciding whether to declare tzname.
25444         * lib/strftime.c (tzname): Likewise.
25445
25446 2008-01-15  Bruno Haible  <bruno@clisp.org>
25447
25448         Work around a MacOS X 10.5 bug in frexpl().
25449         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
25450         * doc/functions/frexpl.texi: Document the bug.
25451         Reported by Elias Pipping <pipping@gentoo.org>.
25452
25453 2008-01-14  Eric Blake  <ebb9@byu.net>
25454
25455         Touch up previous patch.
25456         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
25457         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
25458
25459         Convert strcasestr module to use Two-Way algorithm.
25460         * modules/strcasestr-simple: New module, based on the old
25461         strcasestr, but with Two-Way rather than KMP.
25462         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
25463         * lib/string.in.h (rpl_strcasestr): Declare.
25464         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
25465         performance.
25466         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
25467         * modules/string (Makefile.am): Support strcasestr.
25468         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
25469         * modules/strcasestr-tests (Depends-on): Check for alarm.
25470         * tests/test-strcasestr.c: Augment test.
25471         * lib/str-two-way.h: Clean up stray macro.
25472         * NEWS: Document new module.
25473         * MODULES.html.sh (string handling): Likewise.
25474         * doc/functions/strcasestr.texi: New file.
25475         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
25476         here, since it is not a POSIX function.
25477
25478 2008-01-14  Colin Watson  <cjwatson@debian.org>
25479             Bruno Haible  <bruno@clisp.org>
25480
25481         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
25482         works fine; if not, set REPLACE_STRSIGNAL.
25483         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
25484         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25485         REPLACE_STRSIGNAL.
25486         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
25487         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
25488         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
25489
25490 2008-01-14  Bruno Haible  <bruno@clisp.org>
25491
25492         * modules/strsignal (Include): Change to <string.h>.
25493
25494 2008-01-14  Colin Watson  <cjwatson@debian.org>
25495
25496         * modules/argp (Notice): Add a notice recommending to change
25497         XGETTEXT_OPTIONS.
25498         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
25499
25500 2008-01-13  Colin Watson  <cjwatson@debian.org>
25501
25502         * modules/strsignal-tests: New file.
25503         * tests/test-strsignal.c: New file.
25504
25505         * lib/strsignal.c: New file, from glibc with modifications.
25506         * lib/siglist.h: New file, from glibc with modifications.
25507         * lib/string.in.h (strsignal): New declaration.
25508         * m4/strsignal.m4: New file.
25509         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25510         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
25511         * modules/strsignal: New file.
25512         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
25513         HAVE_DECL_STRSIGNAL.
25514
25515 2008-01-13  Bruno Haible  <bruno@clisp.org>
25516
25517         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
25518         locale encoding is not ASCII. Needed for OpenBSD 4.0.
25519         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
25520         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25521
25522 2008-01-13  Bruno Haible  <bruno@clisp.org>
25523
25524         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
25525         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
25526         * lib/argp.h (__attribute__): Likewise.
25527         * lib/c-stack.c (__attribute__): Likewise.
25528         * lib/error.h (__attribute__): Likewise.
25529         * lib/fts.c (__attribute__): Likewise.
25530         * lib/openat.h (__attribute__): Likewise.
25531         * lib/stdio.in.h (__attribute__): Likewise.
25532         * lib/string.in.h (__attribute__): Likewise.
25533         * lib/utimens.c (__attribute__): Likewise.
25534         * lib/vasnprintf.h (__attribute__): Likewise.
25535         * lib/xalloc.h (__attribute__): Likewise.
25536         * lib/xprintf.h (__attribute__): Likewise.
25537         * lib/xstrtol.h (__attribute__): Likewise.
25538         * lib/xvasprintf.h (__attribute__): Likewise.
25539
25540 2008-01-12  Bruno Haible  <bruno@clisp.org>
25541
25542         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
25543         * doc/glibc-headers/a.out.texi: New file.
25544         * doc/glibc-headers/aliases.texi: New file.
25545         * doc/glibc-headers/alloca.texi: New file.
25546         * doc/glibc-headers/ar.texi: New file.
25547         * doc/glibc-headers/argp.texi: New file.
25548         * doc/glibc-headers/argz.texi: New file.
25549         * doc/glibc-headers/byteswap.texi: New file.
25550         * doc/glibc-headers/crypt.texi: New file.
25551         * doc/glibc-headers/endian.texi: New file.
25552         * doc/glibc-headers/envz.texi: New file.
25553         * doc/glibc-headers/err.texi: New file.
25554         * doc/glibc-headers/error.texi: New file.
25555         * doc/glibc-headers/execinfo.texi: New file.
25556         * doc/glibc-headers/fpu_control.texi: New file.
25557         * doc/glibc-headers/fstab.texi: New file.
25558         * doc/glibc-headers/fts.texi: New file.
25559         * doc/glibc-headers/getopt.texi: New file.
25560         * doc/glibc-headers/ieee754.texi: New file.
25561         * doc/glibc-headers/ifaddrs.texi: New file.
25562         * doc/glibc-headers/libintl.texi: New file.
25563         * doc/glibc-headers/mcheck.texi: New file.
25564         * doc/glibc-headers/mntent.texi: New file.
25565         * doc/glibc-headers/obstack.texi: New file.
25566         * doc/glibc-headers/paths.texi: New file.
25567         * doc/glibc-headers/printf.texi: New file.
25568         * doc/glibc-headers/pty.texi: New file.
25569         * doc/glibc-headers/resolv.texi: New file.
25570         * doc/glibc-headers/shadow.texi: New file.
25571         * doc/glibc-headers/sysexits.texi: New file.
25572         * doc/glibc-headers/ttyent.texi: New file.
25573
25574 2008-01-12  Jim Meyering  <meyering@redhat.com>
25575
25576         announce-gen: emit Gnulib's git-based version string.
25577         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
25578         New option --gnulib-version=V, where V is expected to be
25579         the output of running git describe in the gnulib directory.
25580         (get_tool_versions): Request feedback on xdelta.  I suspect it's
25581         not useful, and plan to stop publishing an xdelta file with each
25582         coreutils release.
25583
25584         * build-aux/announce-gen: Also check for lzma-compressed files.
25585
25586 2008-01-11  Bruno Haible  <bruno@clisp.org>
25587
25588         * tests/test-memmem.c (main): Increase maximum allowed time.
25589         * tests/test-strstr.c (main): Likewise.
25590
25591 2008-01-11  Bruno Haible  <bruno@clisp.org>
25592
25593         * doc/functions/memmem.texi: Add more precisions about platforms.
25594         * doc/functions/strstr.texi: Likewise.
25595
25596 2008-01-10  Eric Blake  <ebb9@byu.net>
25597
25598         * m4/strstr.m4: Delete cruft from copy-n-paste.
25599         Reported by Bruno Haible.
25600
25601 2008-01-10  Bruno Haible  <bruno@clisp.org>
25602
25603         Make c-strstr rely on strstr.
25604         * lib/c-strstr.c: Don't include str-kmp.h.
25605         (c_strstr): Define in terms of strstr.
25606         * modules/c-strstr (Files): Remove lib/str-kmp.h.
25607         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
25608
25609 2008-01-10  Bruno Haible  <bruno@clisp.org>
25610
25611         * doc/gnulib.texi (String Functions in C Locale): New section.
25612         * doc/c-ctype.texi: New file.
25613         * doc/c-strcase.texi: New file.
25614         * doc/c-strcaseeq.texi: New file.
25615         * doc/c-strcasestr.texi: New file.
25616         * doc/c-strstr.texi: New file.
25617         * doc/c-strtod.texi: New file.
25618         * doc/c-strtold.texi: New file.
25619
25620 2008-01-10  Eric Blake  <ebb9@byu.net>
25621
25622         * lib/relocatable.h: Fix a comment.
25623
25624 2008-01-10  Eric Blake  <ebb9@byu.net>
25625
25626         Share two-way algorithm.
25627         * lib/str-two-way.h: New file, merged from...
25628         * lib/memmem.c: ...here...
25629         * lib/strstr.c: ...and here.
25630         * modules/memmem (Files): Use it.
25631         * modules/strstr (Files): Likewise.
25632
25633         Avoid quadratic strstr implementations.
25634         * lib/strstr.c: New file.
25635         * m4/strstr.m4: Likewise.
25636         * modules/strstr: Likewise.
25637         * modules/strstr-tests: Likewise.
25638         * tests/test-strstr.c: Likewise.
25639         * lib/string.in.h (rpl_strstr): Declare.
25640         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
25641         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
25642         * modules/string (Makefile.am): Likewise.
25643         * MODULES.html.sh (string handling): Mention new module.
25644         * doc/functions/strstr.texi (strstr): Document the bug.
25645
25646 2008-01-10  Bruno Haible  <bruno@clisp.org>
25647
25648         * lib/relocatable.h (relocate): State whether result is freshly
25649         allocated or not.
25650         * lib/relocatable.c (relocate): Return a freshly allocated string
25651         instead of a pointer to a privately held string.
25652         Reported by Sylvain Beucler <beuc@gnu.org>.
25653
25654 2008-01-10  Colin Watson  <cjwatson@debian.org>
25655
25656         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
25657         s/S_ISNLK/S_ISLNK/.
25658
25659 2008-01-09  Bruno Haible  <bruno@clisp.org>
25660
25661         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
25662         and other files.
25663         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
25664         if it's only a guess.
25665         * modules/memmem: Simplify by depending on memmem-simple.
25666
25667 2008-01-09  Bruno Haible  <bruno@clisp.org>
25668
25669         Work around OpenBSD 4.0 tdelete() bug.
25670         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
25671         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
25672         macros and don't redefine the enum values.
25673         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
25674         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
25675         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
25676
25677 2008-01-09  Bruno Haible  <bruno@clisp.org>
25678
25679         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
25680         (main): Don't perform the tests if setlocale did not install a UTF-8
25681         locale. Needed on OpenBSD 4.0.
25682         * modules/wcwidth-tests (Depends-on): Add localcharset.
25683
25684 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
25685
25686         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
25687         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
25688         * NEWS: announce this.
25689         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
25690
25691 2008-01-09  Simon Josefsson  <simon@josefsson.org>
25692         and Eric Blake  <ebb9@byu.net>
25693
25694         Add memmem-simple module.
25695         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
25696         (gl_FUNC_MEMMEM): Separate performance from presence checks.
25697         * modules/memmem-simple: New file.
25698         * modules/memmem (Description): Tweak.
25699         * MODULES.html.sh (string handling): Mention new module.
25700         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
25701         addressed by memmem-simple.
25702         * NEWS: Document the difference.
25703
25704 2008-01-09  Eric Blake  <ebb9@byu.net>
25705
25706         Give gcc some memmem optimization hints.
25707         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
25708         (strcasestr): Declare as pure.
25709         * modules/memmem (Maintainer): Claim my implementation.
25710
25711 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25712
25713         Support AIX 6.1 and higher.
25714         * build-aux/config.libpath: Likewise.
25715         * build-aux/config.rpath: Likewise.
25716
25717 2008-01-08  Jim Meyering  <meyering@redhat.com>
25718             Bruno Haible  <bruno@clisp.org>
25719
25720         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
25721         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
25722         Reported by Peter Fales in
25723         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
25724
25725 2008-01-08  Bruno Haible  <bruno@clisp.org>
25726
25727         * modules/unictype/category-of (Depends-on): Add
25728         unictype/category-none.
25729         * modules/unictype/category-and-tests (Depends-on): Add
25730         unictype/category-{L,N,Lu,Nd}.
25731         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
25732         * modules/unictype/category-or-tests (Depends-on): Add
25733         unictype/category-{L,N}.
25734         * modules/unictype/category-name-tests (Depends-on): Add
25735         unictype/category-{Z,Nl}.
25736         Reported by Simon Josefsson.
25737
25738 2008-01-08  Bruno Haible  <bruno@clisp.org>
25739
25740         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
25741         convention better.
25742         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
25743         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
25744         Reported by Peter Miller <millerp@canb.auug.org.au>.
25745
25746 2008-01-08  Eric Blake  <ebb9@byu.net>
25747
25748         Rewrite memmem to guarantee linear complexity without malloc.
25749         * lib/memmem.c (memmem): Use Two-Way rather than
25750         Knuth-Morris-Pratt, to allow O(1) space usage.
25751         (critical_factorization, two_way_short_needle)
25752         (two_way_long_needle): New functions.
25753         (knuth_morris_pratt): Delete.
25754         * modules/memmem (Depends-on): No longer need malloca or stdbool.
25755         Add stdint.
25756         * tests/test-memmem.c (main): Add tests for periodic needle and
25757         sublinear performance.
25758         * doc/functions/memmem.texi (memmem): Document other deficiencies
25759         in cygwin and older glibc.
25760
25761 2008-01-08  Bruno Haible  <bruno@clisp.org>
25762
25763         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
25764         augmentation.
25765
25766 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
25767
25768         Add a configure time option: --disable-acl.
25769         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
25770         AC_ARG_ENABLE(acl).
25771
25772 2008-01-06  Simon Josefsson  <simon@josefsson.org>
25773
25774         * tests/test-localename.c: Don't include obsolete "setenv.h".
25775
25776         * modules/localename-tests (Depends-on): Need unsetenv.
25777
25778 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25779
25780         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
25781
25782 2008-01-06  Colin Watson  <cjwatson@debian.org>
25783
25784         * users.txt: Add man-db.
25785
25786 2008-01-07  Bruno Haible  <bruno@clisp.org>
25787
25788         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
25789         previous section name.
25790
25791 2008-01-07  Bruno Haible  <bruno@clisp.org>
25792
25793         * lib/progname.c (set_program_name): Don't strip off a leading
25794         "lt-" prefix outside a .libs directory.
25795         Suggested by Paul Eggert.
25796
25797 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
25798             Bruno Haible  <bruno@clisp.org>
25799
25800         Improve memory cleanup in 'relocatable' module.
25801         * lib/relocatable.h (compute_curr_prefix): Change return type to
25802         'char *'.
25803         * lib/relocatable.c (compute_curr_prefix): Change return type to
25804         'char *'. Free curr_installdir after use.
25805         (relocate): Free curr_prefix_better after use.
25806         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
25807
25808 2008-01-01  Bruno Haible  <bruno@clisp.org>
25809
25810         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
25811         failure on older glibc systems.
25812         Reported by Peter Fales <psfales@alcatel-lucent.com>.
25813
25814 2008-01-05  Eric Blake  <ebb9@byu.net>
25815
25816         Avoid quadratic system memmem.
25817         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
25818         Reported by Ralf Wildenhues.
25819
25820         Fix memmem test for mingw.
25821         * modules/memmem-tests (configure.ac): Check for alarm.
25822         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
25823         it.
25824         * doc/functions/memmem.texi: New file.
25825         * doc/gnulib.texi (Function Substitutes): Add memmem.
25826         Reported by Bruno Haible.
25827
25828 2008-01-04  Bruno Haible  <bruno@clisp.org>
25829
25830         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
25831         Require gl_HEADER_STRINGS_H_DEFAULTS, not
25832         gl_HEADER_STRING_H_DEFAULTS.
25833
25834 2008-01-04  Eric Blake  <ebb9@byu.net>
25835
25836         Shorten duration of memmem test.
25837         * tests/test-memmem.c (main): Use alarm to declare failure if test
25838         is taking too long.
25839         Reported by Ralf Wildenhues.
25840
25841 2007-12-21  Simon Josefsson  <simon@josefsson.org>
25842
25843         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
25844         string, needed by strerror.
25845
25846 2008-01-03  Colin Watson  <cjwatson@debian.org>
25847             Bruno Haible  <bruno@clisp.org>
25848
25849         * doc/gnulib-tool.texi (Localization): New section.
25850
25851 2008-01-02  Bruno Haible  <bruno@clisp.org>
25852
25853         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
25854         variables to 'unsigned char *' type.
25855         Reported by Paul Eggert.
25856
25857 2008-01-02  Jim Meyering  <jim@meyering.net>
25858
25859         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
25860
25861 2007-12-31  Jim Meyering  <jim@meyering.net>
25862
25863         Avoid use of private FTS type name.
25864         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
25865
25866 2007-12-30  Karl Berry  <karl@gnu.org>
25867
25868         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
25869         work around defect in Texinfo and/or the standalone Info browser.
25870
25871 2007-12-30  Bruno Haible  <bruno@clisp.org>
25872
25873         Unify 5 copies of the KMP code.
25874         * lib/str-kmp.h: New file.
25875         * lib/c-strcasestr.c: Include str-kmp.h.
25876         (knuth_morris_pratt): Remove function.
25877         (c_strcasestr): Update.
25878         * lib/c-strstr.c: Include str-kmp.h.
25879         (knuth_morris_pratt): Remove function.
25880         (c_strcasestr): Update.
25881         * lib/mbscasestr.c: Include str-kmp.h.
25882         (knuth_morris_pratt_unibyte): Remove function.
25883         * lib/mbsstr.c: Include str-kmp.h.
25884         (knuth_morris_pratt_unibyte): Remove function.
25885         * lib/strcasestr.c: Include str-kmp.h.
25886         (knuth_morris_pratt): Remove function.
25887         (strcasestr): Update.
25888         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
25889         * modules/c-strstr (Files): Likewise.
25890         * modules/mbscasestr (Files): Likewise.
25891         * modules/mbsstr (Files): Likewise.
25892         * modules/strcasestr (Files): Likewise.
25893         Suggested by Paul Eggert.
25894
25895 2007-12-30  Bruno Haible  <bruno@clisp.org>
25896
25897         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
25898         defined.
25899
25900 2007-12-30  Bruno Haible  <bruno@clisp.org>
25901
25902         * lib/xmalloca.h: Include xalloc.h.
25903         (xnmalloca): New macro.
25904
25905 2007-12-30  Bruno Haible  <bruno@clisp.org>
25906
25907         * lib/malloca.h (nmalloca): New macro.
25908         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
25909         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
25910         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
25911         knuth_morris_pratt_multibyte): Likewise.
25912         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
25913         knuth_morris_pratt_multibyte): Likewise.
25914         * lib/memmem.c (knuth_morris_pratt): Likewise.
25915         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
25916
25917 2007-12-25  Bruno Haible  <bruno@clisp.org>
25918
25919         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
25920         * lib/glob.c: Don't include openat.h.
25921         (link_exists2_p): Add back the code that deals with the
25922         !GLOB_ALTDIRFUNC case.
25923         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
25924         let it do the filename concatenation.
25925         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
25926         * modules/glob (Depends-on): Remove openat.
25927
25928 2007-12-31  Bruno Haible  <bruno@clisp.org>
25929
25930         * modules/dirfd (License): Change to LGPLv2+.
25931         Approved by Jim Meyering.
25932
25933 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25934
25935         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
25936         when multiplying M by sizeof (size_t).
25937
25938 2007-12-10  Martin Lambers  <marlam@marlam.de>
25939
25940         Override getpagesize on mingw.
25941         * lib/getpagesize.c: New file.
25942         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
25943         * modules/getpagesize (Files): Add lib/getpagesize.c.
25944         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
25945         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25946         REPLACE_GETPAGESIZE.
25947         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
25948
25949 2007-12-25  Bruno Haible  <bruno@clisp.org>
25950
25951         * modules/localcharset (Notice): New field.
25952         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
25953         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
25954
25955 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25956             Bruno Haible  <bruno@clisp.org>
25957
25958         Avoid using the syntax symbol() in formatted documentation.
25959         * MODULES.html.sh (func_module): When replacing symbol() with a
25960         hyperlink, remove the parentheses. Show an error if some remain.
25961         Recognize and render the '...' syntax.
25962         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
25963         Rework. Add paragraph about GCC's inlining.
25964         * doc/alloca.texi: Likewise.
25965         * doc/error.texi: Remove parentheses from symbol reference.
25966         * doc/gnulib-intro.texi: Likewise.
25967         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
25968         * modules/fnmatch (Description): Reword to say "the ... function".
25969         * modules/full-read (Description): Likewise.
25970         * modules/full-write (Description): Likewise.
25971         * modules/safe-read (Description): Likewise.
25972         * modules/safe-write (Description): Likewise.
25973         * modules/strchrnul (Description): Likewise.
25974         * modules/trim (Description): Likewise.
25975         * modules/error (Description): Remove parentheses from symbol
25976         references.
25977         * modules/verror (Description): Likewise.
25978         Reported by Karl Berry.
25979
25980 2007-12-25  Bruno Haible  <bruno@clisp.org>
25981
25982         Fixup after 2007-10-16 commit.
25983         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
25984
25985 2007-12-24  Bruno Haible  <bruno@clisp.org>
25986
25987         Make --enable-relocatable work with DESTDIR.
25988         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
25989         to compute installdir from destprog.
25990         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
25991         also set the RELOC_DESTDIR variable.
25992         Reported by Левашев Иван <octagram@bluebottle.com>.
25993
25994 2007-12-24  Bruno Haible  <bruno@clisp.org>
25995
25996         Fix link error due to xalloc_die().
25997         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
25998         of xreadlink.
25999         * lib/relocwrapper.c: Update comments.
26000         * build-aux/install-reloc: Remove xreadlink.c from file list.
26001         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
26002         xreadlink.c.
26003         Reported by Левашев Иван <octagram@bluebottle.com>.
26004
26005 2007-12-24  Bruno Haible  <bruno@clisp.org>
26006
26007         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
26008         * lib/setenv.h: Remove file.
26009         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
26010         lib/setenv.h.
26011         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
26012         (Depends-on): Add stdlib.
26013         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
26014         gl_FUNC_UNSETENV.
26015         (Include): Replace setenv.h with <stdlib.h>.
26016         * modules/unsetenv: New file.
26017         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
26018         * lib/unsetenv.c: Include <stdlib.h> first.
26019         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
26020         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
26021         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
26022         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
26023         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
26024         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
26025         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
26026         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
26027         * doc/functions/unsetenv.texi: Update.
26028         * modules/xsetenv (Depends-on): Add unsetenv.
26029         * modules/getdate (Depends-on): Likewise.
26030         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
26031         * lib/xsetenv.c: Don't include setenv.h.
26032         * lib/getdate.y: Likewise.
26033         * lib/relocwrapper.c: Likewise.
26034         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
26035         (Depends-on): Add stdlib.
26036         * NEWS: Mention the changes.
26037         Reported by Левашев Иван <octagram@bluebottle.com>.
26038
26039 2007-12-23  Bruno Haible  <bruno@clisp.org>
26040
26041         * lib/memmem.c (memmem): Use lowercase variable names. Tab
26042         indentation.
26043
26044 2007-12-23  Bruno Haible  <bruno@clisp.org>
26045
26046         * lib/c-strcasestr.c: Add more comments.
26047         * lib/c-strstr.c: Likewise.
26048         * lib/mbscasestr.c: Likewise.
26049         * lib/mbsstr.c: Likewise.
26050         * lib/strcasestr.c: Likewise.
26051         * lib/memmem.c: Likewise.
26052
26053 2007-12-23  Bruno Haible  <bruno@clisp.org>
26054
26055         * tests/test-memmem.c: Include <string.h> first.
26056
26057 2007-12-22  Bruno Haible  <bruno@clisp.org>
26058
26059         * gnulib-tool (func_create_testdir): Change $auxdir while generating
26060         the contents of $testsbase.
26061         Reported by Ralf Wildenhues.
26062
26063 2007-12-22  Bruno Haible  <bruno@clisp.org>
26064
26065         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
26066         two variables local_ldadd_before, local_ldadd_last.
26067
26068 2007-12-20  Eric Blake  <ebb9@byu.net>
26069
26070         Work around circular library issue when cross-compiling.
26071         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
26072         that progname.o does not need to pull in rpl_memcmp.
26073
26074 2007-12-19  Eric Blake  <ebb9@byu.net>
26075
26076         Fix memmem to avoid O(n^2) worst-case complexity.
26077         * lib/memmem.c (knuth_morris_pratt): New function.
26078         (memmem): Use it if first few naive iterations fail.
26079         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
26080         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
26081         * modules/memchr (License): Likewise.
26082         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
26083         malloca.
26084         * tests/test-memmem.c: Rewrite, borrowing ideas from
26085         test-mbsstr1.c; the old version wouldn't even compile!
26086         * modules/memmem-tests: New file.
26087         * lib/string.in.h (rpl_memmem): Add declaration.
26088         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
26089         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
26090         REPLACE_MEMMEM.
26091
26092 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26093
26094         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
26095         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
26096         before any system include files, and undef after them all.  This
26097         should fix a problem on VMS reported by John E. Malmberg in
26098         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
26099
26100 2007-12-17  Eric Blake  <ebb9@byu.net>
26101
26102         Revert addition of verify, for BSD/OS.
26103         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
26104         can't handle large files, for the sake of obsolete platforms.
26105         * modules/fseeko (Depends-on): Remove verify.
26106         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
26107         * doc/functions/ftello.texi (ftello): Likewise.
26108         * doc/functions/fgetpos.texi (fgetpos): Likewise.
26109         Reported by Larry Jones.
26110
26111 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
26112
26113         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
26114         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
26115
26116 2007-12-17  Jim Meyering  <meyering@redhat.com>
26117
26118         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
26119         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
26120         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
26121         * modules/getcwd (Depends-on): Add openat.
26122         Reported by Petr Salinger.
26123
26124 2007-12-17  Bruno Haible  <bruno@clisp.org>
26125
26126         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
26127         avoid a segmentation fault of the configure test on x86_64 systems.
26128
26129 2007-12-15  Jim Meyering  <meyering@redhat.com>
26130
26131         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
26132
26133 2007-12-13  Eric Blake  <ebb9@byu.net>
26134
26135         Another fseek test.
26136         * tests/test-fseek.c (main): Also test ungetc handling.
26137         * tests/test-fseeko.c (main): Likewise.
26138         * modules/fseeko (Depends-on): Add verify.
26139         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
26140         large.
26141         Reported by Larry Jones.
26142
26143         Fix fseeko on mingw.
26144         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
26145         seek.
26146
26147         Beef up fseek tests.
26148         * tests/test-fseek.c (main): Also test eof handling.
26149         * tests/test-fseeko.c (main): Likewise.
26150         Reported by Larry Jones.
26151
26152 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
26153
26154         Fix fseeko on BSD-based platforms.
26155         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
26156         successful seek.
26157
26158 2007-12-12  Eric Blake  <ebb9@byu.net>
26159
26160         Allow circular dependency of separate libtests.a
26161         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
26162         when use_libtests.
26163
26164 2007-12-11  Eric Blake  <ebb9@byu.net>
26165
26166         Fix bug with -0.0L in previous patch.
26167         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
26168         * tests/test-isnan.c (main): Also test on zeroes.
26169         * tests/test-isnanf.c (main): Likewise.
26170         * tests/test-isnanl.h (main): Likewise.
26171
26172         Detect pseudo-denormals on x86 even when cross-compiling.
26173         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
26174         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
26175         invalid bit patterns that happen to satisfy ==.
26176
26177         Avoid link failures with separate libtests.a.
26178         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
26179         last, to satisfy circular dependencies.
26180
26181 2007-12-11  Eric Blake  <ebb9@byu.net>
26182         and Bruno Haible  <bruno@clisp.org>
26183
26184         Fix OpenBSD 4.0 <float.h> handling of long double.
26185         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
26186         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
26187         * doc/headers/float.texi (float.h): Document OpenBSD bug.
26188
26189 2007-12-11  Jim Meyering  <meyering@redhat.com>
26190
26191         * users.txt: Add libvirt.
26192
26193         Support versions of autoconf prior to 2.59c.
26194         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
26195         if it is not already defined.
26196
26197 2007-12-09  Bruno Haible  <bruno@clisp.org>
26198
26199         Let 'gnulib-tool --import' collect sources needed for the tests in
26200         tests/ rather than in lib/.
26201         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
26202         argument. If true, add rules to generate libtests.a, and put libtests.a
26203         into $(LDADD). Consider source files in subdirectories and set
26204         uses_subdirs.
26205         (func_emit_initmacro_start, func_emit_initmacro_end,
26206         func_emit_initmacro_done): Pass all arguments explicitly.
26207         (func_import): Determine two module lists main_modules,
26208         testsrelated_modules. Determine use_libtests. Determine two variables
26209         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
26210         instead of just sed_transform_lib_file. Determine two variables
26211         main_files and testsrelated_files. Compute 'files' as the union of
26212         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
26213         func_add_or_update. In the generated gnulib-comp.m4, collect the
26214         object files for tests/ in different variables than those for lib/.
26215         Substitute LIBTESTS_LIBDEPS.
26216         (func_create_testdir): Combine the uses_subdirs results from
26217         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
26218
26219 2007-12-09  Bruno Haible  <bruno@clisp.org>
26220
26221         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
26222         the build-aux directory.
26223
26224 2007-12-09  Bruno Haible  <bruno@clisp.org>
26225
26226         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
26227         introduced on 2006-09-09.
26228
26229 2007-12-07  Jim Meyering  <meyering@redhat.com>
26230
26231         Let these macros work also with autoconf-2.59.
26232         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
26233         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
26234         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
26235
26236 2007-12-06  Jim Meyering  <meyering@redhat.com>
26237
26238         Avoid a configure-time syntax error in gl_FUNC_ACL.
26239         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
26240         function in each branch, before testing the cache variable.
26241
26242 2007-12-04  Eric Blake  <ebb9@byu.net>
26243
26244         Make scripts executable.
26245         * build-aux/config.guess: Add execute permissions.
26246         * build-aux/config.sub: Likewise.
26247         * build-aux/gendocs.sh: Likewise.
26248
26249         Fix frexp on mingw.
26250         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
26251         cross-compiling.
26252         * doc/functions/frexp.texi (frexp): Document the bug.
26253
26254         Make cygwin fseeko check more reliable.
26255         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
26256         version numbers, rather than unrelated feature check.
26257         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
26258         * doc/functions/ftello.texi (ftello): Likewise.
26259         Reported by Bruno Haible.
26260
26261         * m4/strerror.m4: Bump version number.
26262
26263 2007-12-03  Bruno Haible  <bruno@clisp.org>
26264
26265         * doc/functions/mprotect.texi: Mention the mingw problem.
26266
26267 2007-12-03  Eric Blake  <ebb9@byu.net>
26268
26269         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
26270         REPLACE_STRERROR is initialized before this macro.
26271
26272 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
26273
26274         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
26275         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
26276         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
26277         put -lsec in even for programs other than 'ls'.  This fixes a problem
26278         for gettext reported by Bruno Haible in
26279         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
26280         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
26281         Add support for Solaris 10.  This isn't efficient, but should get the
26282         job done for now.
26283
26284 2007-12-03  James Youngman  <jay@gnu.org>
26285
26286         * doc/regexprops-generic.texi: change "an close-group" to "a
26287         close-group" and "illegal" to "not allowed".
26288
26289 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26290
26291         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
26292         pr_byname.h. Needed for the rare case when the maintainer has done
26293         "make maintainer-clean" in the source directory and then attempts a
26294         build outside the source directory.
26295         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
26296         scripts_byname.h.
26297
26298 2007-12-02  Martin Lambers <marlam@marlam.de>
26299             Bruno Haible  <bruno@clisp.org>
26300
26301         * lib/getpagesize.h: Remove file.
26302         * lib/unistd.in.h: Include declaration of getpagesize here.
26303         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
26304         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
26305         HAVE_SYS_PARAM_H.
26306         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
26307         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
26308         * modules/getpagesize (Files): Remove lib/getpagesize.h.
26309         (Depends-on): Add unistd.
26310         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26311         (Include): Use <unistd.h> instead of getpagesize.h.
26312         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
26313         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
26314         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
26315         gl_GETPAGESIZE invocation, already handled by module dependency.
26316         * lib/pagealign_alloc.c: Don't include getpagesize.h.
26317
26318 2007-12-02  Bruno Haible  <bruno@clisp.org>
26319
26320         * modules/strings-tests: New file.
26321         * tests/test-strings.c: New file.
26322
26323         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
26324         * lib/strings.in.h: New file.
26325         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
26326         * m4/strings_h.m4: New file.
26327         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
26328         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
26329         * modules/strings: New file.
26330         * modules/string (Makefile.am): Update.
26331         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
26332         Reported by Karl Berry.
26333
26334 2007-12-01  Eric Blake  <ebb9@byu.net>
26335
26336         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
26337         accomodate fix in cygwin 1.5.25.
26338
26339 2007-12-01  Jim Meyering  <meyering@redhat.com>
26340
26341         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
26342         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
26343         that would inhibit utf8-optimization of a regexp containing line-
26344         or buffer-anchors, e.g., `^', `$'.
26345
26346 2007-11-30  Bruno Haible  <bruno@clisp.org>
26347
26348         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
26349         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
26350         glthread_recursive_lock_init.
26351         * lib/lock.c (glthread_recursive_lock_init)
26352         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
26353         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26354
26355 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
26356
26357         New function qset_acl, like set_acl but with syscall semantics.
26358         * lib/acl.h (qset_acl): New decl.
26359         * lib/acl.c (qset_acl): New function.
26360         (set_acl): Use new function.  Use more-consistent diagnostics.
26361
26362 2007-11-28  Jim Meyering  <meyering@redhat.com>
26363
26364         * modules/physmem (License): Change from GPL to LGPLv2+.
26365
26366 2007-11-26  Bruno Haible  <bruno@clisp.org>
26367
26368         * lib/vasnprintf.c (decode_long_double): Don't abort if the
26369         'long double' type has excess precision.
26370         Reported by Jim Meyering in
26371         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
26372
26373 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26374
26375         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
26376         Sync from <http://gnu.org/licenses>.
26377         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
26378         with license text from same location.
26379         * doc/maintain.texi, doc/standards.texi:  Sync from
26380         <http://savannah.gnu.org/projects/gnustandards>.
26381
26382 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
26383         and Jim Meyering  <meyering@redhat.com>
26384
26385         Adjust getdate' grammar to accept a slightly more regular language.
26386         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
26387         Before, the former was rejected.
26388         * lib/getdate.y (digits_to_date_time): New function, factored
26389         out of ...
26390         (number): ...here.  Just call digits_to_date_time.
26391         (hybrid): New non-terminal to handle an <unsigned number,
26392         signed relative offset> sequence consistently.
26393
26394 2007-11-18  Jim Meyering  <meyering@redhat.com>
26395
26396         Pull my changes from coreutils:
26397         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
26398         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
26399         use of $gnulib_tool_option_extras, so that it's separated from the
26400         preceding argument.
26401
26402         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
26403         * build-aux/bootstrap (cp_mark_as_generated): Create any required
26404         parent destination directories before copying a file into place.
26405
26406 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
26407
26408         bootstrap: work also with 4-argument variant of AC_INIT
26409         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
26410
26411 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26412
26413         Port test-getaddrinfo to Solaris.
26414         Problem reported by Bruno Haible in
26415         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
26416         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
26417         explanation of setting 'hints'.
26418         Don't reject an implementation merely because it returns EAI_SERVICE.
26419         (EAI_SERVICE): Define to 0 if not defined.
26420
26421 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
26422
26423         The license of gnu-make and posix-shell is now "GPLed build tool".
26424         * modules/gnu-make (License): Likewise.
26425         * modules/posix-shell (License): Likewise.
26426
26427         New module posix-shell, for determining a POSIX shell
26428         or perhaps something that is close enough to a POSIX shell.
26429         * m4/posix-shell.m4: New file.
26430         * modules/posix-shell: New file.
26431
26432         * MODULES.html.sh: Mention new module.
26433
26434         New module gnu-make, for determining whether we're using GNU Make.
26435         * m4/gnu-make.m4: New file.
26436         * modules/gnu-make: New file.
26437         * MODULES.html.sh: Mention new module.
26438
26439 2007-11-14  Jim Meyering  <meyering@redhat.com>
26440
26441         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
26442         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
26443         use this macro to create a function _definition_.
26444         Remove useless "#undef ARGMATCH_DIE".
26445
26446 2007-11-14  Bruno Haible  <bruno@clisp.org>
26447
26448         * lib/config.charset: Update for OpenBSD 4.1.
26449         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
26450
26451 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26452
26453         Document 64-bit #if problems in stdint.texi.
26454         * doc/headers/stdint.texi (stdint.h): Mention problems with
26455         64-bit-#if, and how to work around them.
26456
26457         Don't insist on 'long long int' support in the preprocessor.  It
26458         breaks too many things.  For example, PRIdMAX still uses a 'long
26459         long int' format with the latest Sun compiler, even though
26460         HAVE_LONG_LONG_INT isn't defined due to that compiler's
26461         preprocessor problem.  This causes the latest coreutils to dump
26462         core on Solaris 10 sparc with the Sun C compiler.
26463         Instead, fix the 2007-10-16 problem in a different way, by evaluating
26464         the troublesome expressions at configure-time, not at #if-time.
26465         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
26466         preprocessor.
26467         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
26468         compile-time C checks, done at 'configure'-time.
26469         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
26470         * modules/inttypes (Makefile): Substitute the new symbols that
26471         gl_INTTYPES_H now generates.
26472         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
26473
26474 2007-11-12  Bruno Haible  <bruno@clisp.org>
26475
26476         Tests for Unicode character classification functions.
26477
26478         * modules/unictype/bidicategory-byname-tests: New file.
26479         * modules/unictype/bidicategory-name-tests: New file.
26480         * modules/unictype/bidicategory-of-tests: New file.
26481         * modules/unictype/bidicategory-test-tests: New file.
26482         * modules/unictype/block-list-tests: New file.
26483         * modules/unictype/block-of-tests: New file.
26484         * modules/unictype/block-test-tests: New file.
26485         * modules/unictype/category-C-tests: New file.
26486         * modules/unictype/category-Cc-tests: New file.
26487         * modules/unictype/category-Cf-tests: New file.
26488         * modules/unictype/category-Cn-tests: New file.
26489         * modules/unictype/category-Co-tests: New file.
26490         * modules/unictype/category-Cs-tests: New file.
26491         * modules/unictype/category-L-tests: New file.
26492         * modules/unictype/category-Ll-tests: New file.
26493         * modules/unictype/category-Lm-tests: New file.
26494         * modules/unictype/category-Lo-tests: New file.
26495         * modules/unictype/category-Lt-tests: New file.
26496         * modules/unictype/category-Lu-tests: New file.
26497         * modules/unictype/category-M-tests: New file.
26498         * modules/unictype/category-Mc-tests: New file.
26499         * modules/unictype/category-Me-tests: New file.
26500         * modules/unictype/category-Mn-tests: New file.
26501         * modules/unictype/category-N-tests: New file.
26502         * modules/unictype/category-Nd-tests: New file.
26503         * modules/unictype/category-Nl-tests: New file.
26504         * modules/unictype/category-No-tests: New file.
26505         * modules/unictype/category-P-tests: New file.
26506         * modules/unictype/category-Pc-tests: New file.
26507         * modules/unictype/category-Pd-tests: New file.
26508         * modules/unictype/category-Pe-tests: New file.
26509         * modules/unictype/category-Pf-tests: New file.
26510         * modules/unictype/category-Pi-tests: New file.
26511         * modules/unictype/category-Po-tests: New file.
26512         * modules/unictype/category-Ps-tests: New file.
26513         * modules/unictype/category-S-tests: New file.
26514         * modules/unictype/category-Sc-tests: New file.
26515         * modules/unictype/category-Sk-tests: New file.
26516         * modules/unictype/category-Sm-tests: New file.
26517         * modules/unictype/category-So-tests: New file.
26518         * modules/unictype/category-Z-tests: New file.
26519         * modules/unictype/category-Zl-tests: New file.
26520         * modules/unictype/category-Zp-tests: New file.
26521         * modules/unictype/category-Zs-tests: New file.
26522         * modules/unictype/category-and-not-tests: New file.
26523         * modules/unictype/category-and-tests: New file.
26524         * modules/unictype/category-byname-tests: New file.
26525         * modules/unictype/category-name-tests: New file.
26526         * modules/unictype/category-none-tests: New file.
26527         * modules/unictype/category-of-tests: New file.
26528         * modules/unictype/category-or-tests: New file.
26529         * modules/unictype/category-test-withtable-tests: New file.
26530         * modules/unictype/combining-class-tests: New file.
26531         * modules/unictype/ctype-alnum-tests: New file.
26532         * modules/unictype/ctype-alpha-tests: New file.
26533         * modules/unictype/ctype-blank-tests: New file.
26534         * modules/unictype/ctype-cntrl-tests: New file.
26535         * modules/unictype/ctype-digit-tests: New file.
26536         * modules/unictype/ctype-graph-tests: New file.
26537         * modules/unictype/ctype-lower-tests: New file.
26538         * modules/unictype/ctype-print-tests: New file.
26539         * modules/unictype/ctype-punct-tests: New file.
26540         * modules/unictype/ctype-space-tests: New file.
26541         * modules/unictype/ctype-upper-tests: New file.
26542         * modules/unictype/ctype-xdigit-tests: New file.
26543         * modules/unictype/decimal-digit-tests: New file.
26544         * modules/unictype/digit-tests: New file.
26545         * modules/unictype/mirror-tests: New file.
26546         * modules/unictype/numeric-tests: New file.
26547         * modules/unictype/property-alphabetic-tests: New file.
26548         * modules/unictype/property-ascii-hex-digit-tests: New file.
26549         * modules/unictype/property-bidi-arabic-digit-tests: New file.
26550         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
26551         * modules/unictype/property-bidi-block-separator-tests: New file.
26552         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
26553         * modules/unictype/property-bidi-common-separator-tests: New file.
26554         * modules/unictype/property-bidi-control-tests: New file.
26555         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
26556         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
26557         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
26558         * modules/unictype/property-bidi-european-digit-tests: New file.
26559         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
26560         * modules/unictype/property-bidi-left-to-right-tests: New file.
26561         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
26562         * modules/unictype/property-bidi-other-neutral-tests: New file.
26563         * modules/unictype/property-bidi-pdf-tests: New file.
26564         * modules/unictype/property-bidi-segment-separator-tests: New file.
26565         * modules/unictype/property-bidi-whitespace-tests: New file.
26566         * modules/unictype/property-byname-tests: New file.
26567         * modules/unictype/property-combining-tests: New file.
26568         * modules/unictype/property-composite-tests: New file.
26569         * modules/unictype/property-currency-symbol-tests: New file.
26570         * modules/unictype/property-dash-tests: New file.
26571         * modules/unictype/property-decimal-digit-tests: New file.
26572         * modules/unictype/property-default-ignorable-code-point-tests: New file.
26573         * modules/unictype/property-deprecated-tests: New file.
26574         * modules/unictype/property-diacritic-tests: New file.
26575         * modules/unictype/property-extender-tests: New file.
26576         * modules/unictype/property-format-control-tests: New file.
26577         * modules/unictype/property-grapheme-base-tests: New file.
26578         * modules/unictype/property-grapheme-extend-tests: New file.
26579         * modules/unictype/property-grapheme-link-tests: New file.
26580         * modules/unictype/property-hex-digit-tests: New file.
26581         * modules/unictype/property-hyphen-tests: New file.
26582         * modules/unictype/property-id-continue-tests: New file.
26583         * modules/unictype/property-id-start-tests: New file.
26584         * modules/unictype/property-ideographic-tests: New file.
26585         * modules/unictype/property-ids-binary-operator-tests: New file.
26586         * modules/unictype/property-ids-trinary-operator-tests: New file.
26587         * modules/unictype/property-ignorable-control-tests: New file.
26588         * modules/unictype/property-iso-control-tests: New file.
26589         * modules/unictype/property-join-control-tests: New file.
26590         * modules/unictype/property-left-of-pair-tests: New file.
26591         * modules/unictype/property-line-separator-tests: New file.
26592         * modules/unictype/property-logical-order-exception-tests: New file.
26593         * modules/unictype/property-lowercase-tests: New file.
26594         * modules/unictype/property-math-tests: New file.
26595         * modules/unictype/property-non-break-tests: New file.
26596         * modules/unictype/property-not-a-character-tests: New file.
26597         * modules/unictype/property-numeric-tests: New file.
26598         * modules/unictype/property-other-alphabetic-tests: New file.
26599         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
26600         * modules/unictype/property-other-grapheme-extend-tests: New file.
26601         * modules/unictype/property-other-id-continue-tests: New file.
26602         * modules/unictype/property-other-id-start-tests: New file.
26603         * modules/unictype/property-other-lowercase-tests: New file.
26604         * modules/unictype/property-other-math-tests: New file.
26605         * modules/unictype/property-other-uppercase-tests: New file.
26606         * modules/unictype/property-paired-punctuation-tests: New file.
26607         * modules/unictype/property-paragraph-separator-tests: New file.
26608         * modules/unictype/property-pattern-syntax-tests: New file.
26609         * modules/unictype/property-pattern-white-space-tests: New file.
26610         * modules/unictype/property-private-use-tests: New file.
26611         * modules/unictype/property-punctuation-tests: New file.
26612         * modules/unictype/property-quotation-mark-tests: New file.
26613         * modules/unictype/property-radical-tests: New file.
26614         * modules/unictype/property-sentence-terminal-tests: New file.
26615         * modules/unictype/property-soft-dotted-tests: New file.
26616         * modules/unictype/property-space-tests: New file.
26617         * modules/unictype/property-terminal-punctuation-tests: New file.
26618         * modules/unictype/property-test-tests: New file.
26619         * modules/unictype/property-titlecase-tests: New file.
26620         * modules/unictype/property-unassigned-code-value-tests: New file.
26621         * modules/unictype/property-unified-ideograph-tests: New file.
26622         * modules/unictype/property-uppercase-tests: New file.
26623         * modules/unictype/property-variation-selector-tests: New file.
26624         * modules/unictype/property-white-space-tests: New file.
26625         * modules/unictype/property-xid-continue-tests: New file.
26626         * modules/unictype/property-xid-start-tests: New file.
26627         * modules/unictype/property-zero-width-tests: New file.
26628         * modules/unictype/scripts-tests: New file.
26629         * modules/unictype/syntax-c-ident-tests: New file.
26630         * modules/unictype/syntax-c-whitespace-tests: New file.
26631         * modules/unictype/syntax-java-ident-tests: New file.
26632         * modules/unictype/syntax-java-whitespace-tests: New file.
26633         * tests/unictype/test-bidi_byname.c: New file.
26634         * tests/unictype/test-bidi_name.c: New file.
26635         * tests/unictype/test-bidi_of.c: New file.
26636         * tests/unictype/test-bidi_test.c: New file.
26637         * tests/unictype/test-block_list.c: New file.
26638         * tests/unictype/test-block_of.c: New file.
26639         * tests/unictype/test-block_test.c: New file.
26640         * tests/unictype/test-categ_and.c: New file.
26641         * tests/unictype/test-categ_and_not.c: New file.
26642         * tests/unictype/test-categ_byname.c: New file.
26643         * tests/unictype/test-categ_name.c: New file.
26644         * tests/unictype/test-categ_none.c: New file.
26645         * tests/unictype/test-categ_of.c: New file.
26646         * tests/unictype/test-categ_or.c: New file.
26647         * tests/unictype/test-categ_test_withtable.c: New file.
26648         * tests/unictype/test-combining.c: New file.
26649         * tests/unictype/test-decdigit.c: New file.
26650         * tests/unictype/test-digit.c: New file.
26651         * tests/unictype/test-mirror.c: New file.
26652         * tests/unictype/test-numeric.c: New file.
26653         * tests/unictype/test-pr_byname.c: New file.
26654         * tests/unictype/test-pr_test.c: New file.
26655         * tests/unictype/test-predicate-part1.h: New file.
26656         * tests/unictype/test-predicate-part2.h: New file.
26657         * tests/unictype/test-scripts.c: New file.
26658         * tests/unictype/test-sy_c_ident.c: New file.
26659         * tests/unictype/test-sy_java_ident.c: New file.
26660
26661         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
26662         for Unicode 5.0.0.
26663         * tests/unictype/test-categ_Cc.c: Likewise.
26664         * tests/unictype/test-categ_Cf.c: Likewise.
26665         * tests/unictype/test-categ_Cn.c: Likewise.
26666         * tests/unictype/test-categ_Co.c: Likewise.
26667         * tests/unictype/test-categ_Cs.c: Likewise.
26668         * tests/unictype/test-categ_L.c: Likewise.
26669         * tests/unictype/test-categ_Ll.c: Likewise.
26670         * tests/unictype/test-categ_Lm.c: Likewise.
26671         * tests/unictype/test-categ_Lo.c: Likewise.
26672         * tests/unictype/test-categ_Lt.c: Likewise.
26673         * tests/unictype/test-categ_Lu.c: Likewise.
26674         * tests/unictype/test-categ_M.c: Likewise.
26675         * tests/unictype/test-categ_Mc.c: Likewise.
26676         * tests/unictype/test-categ_Me.c: Likewise.
26677         * tests/unictype/test-categ_Mn.c: Likewise.
26678         * tests/unictype/test-categ_N.c: Likewise.
26679         * tests/unictype/test-categ_Nd.c: Likewise.
26680         * tests/unictype/test-categ_Nl.c: Likewise.
26681         * tests/unictype/test-categ_No.c: Likewise.
26682         * tests/unictype/test-categ_P.c: Likewise.
26683         * tests/unictype/test-categ_Pc.c: Likewise.
26684         * tests/unictype/test-categ_Pd.c: Likewise.
26685         * tests/unictype/test-categ_Pe.c: Likewise.
26686         * tests/unictype/test-categ_Pf.c: Likewise.
26687         * tests/unictype/test-categ_Pi.c: Likewise.
26688         * tests/unictype/test-categ_Po.c: Likewise.
26689         * tests/unictype/test-categ_Ps.c: Likewise.
26690         * tests/unictype/test-categ_S.c: Likewise.
26691         * tests/unictype/test-categ_Sc.c: Likewise.
26692         * tests/unictype/test-categ_Sk.c: Likewise.
26693         * tests/unictype/test-categ_Sm.c: Likewise.
26694         * tests/unictype/test-categ_So.c: Likewise.
26695         * tests/unictype/test-categ_Z.c: Likewise.
26696         * tests/unictype/test-categ_Zl.c: Likewise.
26697         * tests/unictype/test-categ_Zp.c: Likewise.
26698         * tests/unictype/test-categ_Zs.c: Likewise.
26699         * tests/unictype/test-ctype_alnum.c: Likewise.
26700         * tests/unictype/test-ctype_alpha.c: Likewise.
26701         * tests/unictype/test-ctype_blank.c: Likewise.
26702         * tests/unictype/test-ctype_cntrl.c: Likewise.
26703         * tests/unictype/test-ctype_digit.c: Likewise.
26704         * tests/unictype/test-ctype_graph.c: Likewise.
26705         * tests/unictype/test-ctype_lower.c: Likewise.
26706         * tests/unictype/test-ctype_print.c: Likewise.
26707         * tests/unictype/test-ctype_punct.c: Likewise.
26708         * tests/unictype/test-ctype_space.c: Likewise.
26709         * tests/unictype/test-ctype_upper.c: Likewise.
26710         * tests/unictype/test-ctype_xdigit.c: Likewise.
26711         * tests/unictype/test-decdigit.h: Likewise.
26712         * tests/unictype/test-digit.h: Likewise.
26713         * tests/unictype/test-numeric.h: Likewise.
26714         * tests/unictype/test-pr_alphabetic.c: Likewise.
26715         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
26716         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26717         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
26718         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
26719         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
26720         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
26721         * tests/unictype/test-pr_bidi_control.c: Likewise.
26722         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
26723         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
26724         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26725         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26726         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26727         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26728         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26729         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26730         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
26731         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
26732         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
26733         * tests/unictype/test-pr_combining.c: Likewise.
26734         * tests/unictype/test-pr_composite.c: Likewise.
26735         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26736         * tests/unictype/test-pr_dash.c: Likewise.
26737         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26738         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
26739         * tests/unictype/test-pr_deprecated.c: Likewise.
26740         * tests/unictype/test-pr_diacritic.c: Likewise.
26741         * tests/unictype/test-pr_extender.c: Likewise.
26742         * tests/unictype/test-pr_format_control.c: Likewise.
26743         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26744         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26745         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26746         * tests/unictype/test-pr_hex_digit.c: Likewise.
26747         * tests/unictype/test-pr_hyphen.c: Likewise.
26748         * tests/unictype/test-pr_id_continue.c: Likewise.
26749         * tests/unictype/test-pr_id_start.c: Likewise.
26750         * tests/unictype/test-pr_ideographic.c: Likewise.
26751         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
26752         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
26753         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26754         * tests/unictype/test-pr_iso_control.c: Likewise.
26755         * tests/unictype/test-pr_join_control.c: Likewise.
26756         * tests/unictype/test-pr_left_of_pair.c: Likewise.
26757         * tests/unictype/test-pr_line_separator.c: Likewise.
26758         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26759         * tests/unictype/test-pr_lowercase.c: Likewise.
26760         * tests/unictype/test-pr_math.c: Likewise.
26761         * tests/unictype/test-pr_non_break.c: Likewise.
26762         * tests/unictype/test-pr_not_a_character.c: Likewise.
26763         * tests/unictype/test-pr_numeric.c: Likewise.
26764         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26765         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
26766         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
26767         * tests/unictype/test-pr_other_id_continue.c: Likewise.
26768         * tests/unictype/test-pr_other_id_start.c: Likewise.
26769         * tests/unictype/test-pr_other_lowercase.c: Likewise.
26770         * tests/unictype/test-pr_other_math.c: Likewise.
26771         * tests/unictype/test-pr_other_uppercase.c: Likewise.
26772         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
26773         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
26774         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
26775         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
26776         * tests/unictype/test-pr_private_use.c: Likewise.
26777         * tests/unictype/test-pr_punctuation.c: Likewise.
26778         * tests/unictype/test-pr_quotation_mark.c: Likewise.
26779         * tests/unictype/test-pr_radical.c: Likewise.
26780         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26781         * tests/unictype/test-pr_soft_dotted.c: Likewise.
26782         * tests/unictype/test-pr_space.c: Likewise.
26783         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26784         * tests/unictype/test-pr_titlecase.c: Likewise.
26785         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26786         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26787         * tests/unictype/test-pr_uppercase.c: Likewise.
26788         * tests/unictype/test-pr_variation_selector.c: Likewise.
26789         * tests/unictype/test-pr_white_space.c: Likewise.
26790         * tests/unictype/test-pr_xid_continue.c: Likewise.
26791         * tests/unictype/test-pr_xid_start.c: Likewise.
26792         * tests/unictype/test-pr_zero_width.c: Likewise.
26793         * tests/unictype/test-sy_c_whitespace.c: Likewise.
26794         * tests/unictype/test-sy_java_whitespace.c: Likewise.
26795
26796 2007-11-12  Bruno Haible  <bruno@clisp.org>
26797
26798         Unicode character classification functions.
26799         * lib/unictype.h: New file.
26800         * modules/unictype/base: New file.
26801         * modules/unictype/category-L: New file.
26802         * modules/unictype/category-Lu: New file.
26803         * modules/unictype/category-Ll: New file.
26804         * modules/unictype/category-Lt: New file.
26805         * modules/unictype/category-Lm: New file.
26806         * modules/unictype/category-Lo: New file.
26807         * modules/unictype/category-M: New file.
26808         * modules/unictype/category-Mn: New file.
26809         * modules/unictype/category-Mc: New file.
26810         * modules/unictype/category-Me: New file.
26811         * modules/unictype/category-N: New file.
26812         * modules/unictype/category-Nd: New file.
26813         * modules/unictype/category-Nl: New file.
26814         * modules/unictype/category-No: New file.
26815         * modules/unictype/category-P: New file.
26816         * modules/unictype/category-Pc: New file.
26817         * modules/unictype/category-Pd: New file.
26818         * modules/unictype/category-Ps: New file.
26819         * modules/unictype/category-Pe: New file.
26820         * modules/unictype/category-Pi: New file.
26821         * modules/unictype/category-Pf: New file.
26822         * modules/unictype/category-Po: New file.
26823         * modules/unictype/category-S: New file.
26824         * modules/unictype/category-Sm: New file.
26825         * modules/unictype/category-Sc: New file.
26826         * modules/unictype/category-Sk: New file.
26827         * modules/unictype/category-So: New file.
26828         * modules/unictype/category-Z: New file.
26829         * modules/unictype/category-Zs: New file.
26830         * modules/unictype/category-Zl: New file.
26831         * modules/unictype/category-Zp: New file.
26832         * modules/unictype/category-C: New file.
26833         * modules/unictype/category-Cc: New file.
26834         * modules/unictype/category-Cf: New file.
26835         * modules/unictype/category-Cs: New file.
26836         * modules/unictype/category-Co: New file.
26837         * modules/unictype/category-Cn: New file.
26838         * modules/unictype/category-or: New file.
26839         * modules/unictype/category-of: New file.
26840         * modules/unictype/category-test: New file.
26841         * modules/unictype/category-test-withtable: New file.
26842         * modules/unictype/category-byname: New file.
26843         * modules/unictype/category-none: New file.
26844         * modules/unictype/category-and: New file.
26845         * modules/unictype/category-and-not: New file.
26846         * modules/unictype/category-name: New file.
26847         * modules/unictype/combining-class: New file.
26848         * modules/unictype/category-all: New file.
26849         * modules/unictype/bidicategory-all: New file.
26850         * modules/unictype/bidicategory-byname: New file.
26851         * modules/unictype/bidicategory-name: New file.
26852         * modules/unictype/bidicategory-of: New file.
26853         * modules/unictype/bidicategory-test: New file.
26854         * modules/unictype/decimal-digit: New file.
26855         * modules/unictype/digit: New file.
26856         * modules/unictype/numeric: New file.
26857         * modules/unictype/mirror: New file.
26858         * modules/unictype/property-white-space: New file.
26859         * modules/unictype/property-alphabetic: New file.
26860         * modules/unictype/property-other-alphabetic: New file.
26861         * modules/unictype/property-not-a-character: New file.
26862         * modules/unictype/property-default-ignorable-code-point: New file.
26863         * modules/unictype/property-other-default-ignorable-code-point: New
26864         file.
26865         * modules/unictype/property-deprecated: New file.
26866         * modules/unictype/property-logical-order-exception: New file.
26867         * modules/unictype/property-variation-selector: New file.
26868         * modules/unictype/property-private-use: New file.
26869         * modules/unictype/property-unassigned-code-value: New file.
26870         * modules/unictype/property-uppercase: New file.
26871         * modules/unictype/property-other-uppercase: New file.
26872         * modules/unictype/property-lowercase: New file.
26873         * modules/unictype/property-other-lowercase: New file.
26874         * modules/unictype/property-titlecase: New file.
26875         * modules/unictype/property-soft-dotted: New file.
26876         * modules/unictype/property-id-start: New file.
26877         * modules/unictype/property-other-id-start: New file.
26878         * modules/unictype/property-id-continue: New file.
26879         * modules/unictype/property-other-id-continue: New file.
26880         * modules/unictype/property-xid-start: New file.
26881         * modules/unictype/property-xid-continue: New file.
26882         * modules/unictype/property-pattern-white-space: New file.
26883         * modules/unictype/property-pattern-syntax: New file.
26884         * modules/unictype/property-join-control: New file.
26885         * modules/unictype/property-grapheme-base: New file.
26886         * modules/unictype/property-grapheme-extend: New file.
26887         * modules/unictype/property-other-grapheme-extend: New file.
26888         * modules/unictype/property-grapheme-link: New file.
26889         * modules/unictype/property-bidi-control: New file.
26890         * modules/unictype/property-bidi-left-to-right: New file.
26891         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
26892         * modules/unictype/property-bidi-arabic-right-to-left: New file.
26893         * modules/unictype/property-bidi-european-digit: New file.
26894         * modules/unictype/property-bidi-eur-num-separator: New file.
26895         * modules/unictype/property-bidi-eur-num-terminator: New file.
26896         * modules/unictype/property-bidi-arabic-digit: New file.
26897         * modules/unictype/property-bidi-common-separator: New file.
26898         * modules/unictype/property-bidi-block-separator: New file.
26899         * modules/unictype/property-bidi-segment-separator: New file.
26900         * modules/unictype/property-bidi-whitespace: New file.
26901         * modules/unictype/property-bidi-non-spacing-mark: New file.
26902         * modules/unictype/property-bidi-boundary-neutral: New file.
26903         * modules/unictype/property-bidi-pdf: New file.
26904         * modules/unictype/property-bidi-embedding-or-override: New file.
26905         * modules/unictype/property-bidi-other-neutral: New file.
26906         * modules/unictype/property-hex-digit: New file.
26907         * modules/unictype/property-ascii-hex-digit: New file.
26908         * modules/unictype/property-ideographic: New file.
26909         * modules/unictype/property-unified-ideograph: New file.
26910         * modules/unictype/property-radical: New file.
26911         * modules/unictype/property-ids-binary-operator: New file.
26912         * modules/unictype/property-ids-trinary-operator: New file.
26913         * modules/unictype/property-zero-width: New file.
26914         * modules/unictype/property-space: New file.
26915         * modules/unictype/property-non-break: New file.
26916         * modules/unictype/property-iso-control: New file.
26917         * modules/unictype/property-format-control: New file.
26918         * modules/unictype/property-dash: New file.
26919         * modules/unictype/property-hyphen: New file.
26920         * modules/unictype/property-punctuation: New file.
26921         * modules/unictype/property-line-separator: New file.
26922         * modules/unictype/property-paragraph-separator: New file.
26923         * modules/unictype/property-quotation-mark: New file.
26924         * modules/unictype/property-sentence-terminal: New file.
26925         * modules/unictype/property-terminal-punctuation: New file.
26926         * modules/unictype/property-currency-symbol: New file.
26927         * modules/unictype/property-math: New file.
26928         * modules/unictype/property-other-math: New file.
26929         * modules/unictype/property-paired-punctuation: New file.
26930         * modules/unictype/property-left-of-pair: New file.
26931         * modules/unictype/property-combining: New file.
26932         * modules/unictype/property-composite: New file.
26933         * modules/unictype/property-decimal-digit: New file.
26934         * modules/unictype/property-numeric: New file.
26935         * modules/unictype/property-diacritic: New file.
26936         * modules/unictype/property-extender: New file.
26937         * modules/unictype/property-ignorable-control: New file.
26938         * modules/unictype/property-test: New file.
26939         * modules/unictype/property-byname: New file.
26940         * modules/unictype/property-all: New file.
26941         * modules/unictype/scripts: New file.
26942         * modules/unictype/scripts-all: New file.
26943         * modules/unictype/block-of: New file.
26944         * modules/unictype/block-test: New file.
26945         * modules/unictype/block-list: New file.
26946         * modules/unictype/block-all: New file.
26947         * modules/unictype/syntax-c-whitespace: New file.
26948         * modules/unictype/syntax-java-whitespace: New file.
26949         * modules/unictype/syntax-c-ident: New file.
26950         * modules/unictype/syntax-java-ident: New file.
26951         * modules/unictype/ctype-alnum: New file.
26952         * modules/unictype/ctype-alpha: New file.
26953         * modules/unictype/ctype-cntrl: New file.
26954         * modules/unictype/ctype-digit: New file.
26955         * modules/unictype/ctype-graph: New file.
26956         * modules/unictype/ctype-lower: New file.
26957         * modules/unictype/ctype-print: New file.
26958         * modules/unictype/ctype-punct: New file.
26959         * modules/unictype/ctype-space: New file.
26960         * modules/unictype/ctype-upper: New file.
26961         * modules/unictype/ctype-xdigit: New file.
26962         * modules/unictype/ctype-blank: New file.
26963         * lib/unictype/bidi_byname.c: New file.
26964         * lib/unictype/bidi_name.c: New file.
26965         * lib/unictype/bidi_of.c: New file.
26966         * lib/unictype/bidi_test.c: New file.
26967         * lib/unictype/bitmap.h: New file.
26968         * lib/unictype/block_test.c: New file.
26969         * lib/unictype/blocks.c: New file.
26970         * lib/unictype/categ_C.c: New file.
26971         * lib/unictype/categ_Cc.c: New file.
26972         * lib/unictype/categ_Cf.c: New file.
26973         * lib/unictype/categ_Cn.c: New file.
26974         * lib/unictype/categ_Co.c: New file.
26975         * lib/unictype/categ_Cs.c: New file.
26976         * lib/unictype/categ_L.c: New file.
26977         * lib/unictype/categ_Ll.c: New file.
26978         * lib/unictype/categ_Lm.c: New file.
26979         * lib/unictype/categ_Lo.c: New file.
26980         * lib/unictype/categ_Lt.c: New file.
26981         * lib/unictype/categ_Lu.c: New file.
26982         * lib/unictype/categ_M.c: New file.
26983         * lib/unictype/categ_Mc.c: New file.
26984         * lib/unictype/categ_Me.c: New file.
26985         * lib/unictype/categ_Mn.c: New file.
26986         * lib/unictype/categ_N.c: New file.
26987         * lib/unictype/categ_Nd.c: New file.
26988         * lib/unictype/categ_Nl.c: New file.
26989         * lib/unictype/categ_No.c: New file.
26990         * lib/unictype/categ_P.c: New file.
26991         * lib/unictype/categ_Pc.c: New file.
26992         * lib/unictype/categ_Pd.c: New file.
26993         * lib/unictype/categ_Pe.c: New file.
26994         * lib/unictype/categ_Pf.c: New file.
26995         * lib/unictype/categ_Pi.c: New file.
26996         * lib/unictype/categ_Po.c: New file.
26997         * lib/unictype/categ_Ps.c: New file.
26998         * lib/unictype/categ_S.c: New file.
26999         * lib/unictype/categ_Sc.c: New file.
27000         * lib/unictype/categ_Sk.c: New file.
27001         * lib/unictype/categ_Sm.c: New file.
27002         * lib/unictype/categ_So.c: New file.
27003         * lib/unictype/categ_Z.c: New file.
27004         * lib/unictype/categ_Zl.c: New file.
27005         * lib/unictype/categ_Zp.c: New file.
27006         * lib/unictype/categ_Zs.c: New file.
27007         * lib/unictype/categ_and.c: New file.
27008         * lib/unictype/categ_and_not.c: New file.
27009         * lib/unictype/categ_byname.c: New file.
27010         * lib/unictype/categ_name.c: New file.
27011         * lib/unictype/categ_none.c: New file.
27012         * lib/unictype/categ_of.c: New file.
27013         * lib/unictype/categ_or.c: New file.
27014         * lib/unictype/categ_test.c: New file.
27015         * lib/unictype/combining.c: New file.
27016         * lib/unictype/ctype_alnum.c: New file.
27017         * lib/unictype/ctype_alpha.c: New file.
27018         * lib/unictype/ctype_blank.c: New file.
27019         * lib/unictype/ctype_cntrl.c: New file.
27020         * lib/unictype/ctype_digit.c: New file.
27021         * lib/unictype/ctype_graph.c: New file.
27022         * lib/unictype/ctype_lower.c: New file.
27023         * lib/unictype/ctype_print.c: New file.
27024         * lib/unictype/ctype_punct.c: New file.
27025         * lib/unictype/ctype_space.c: New file.
27026         * lib/unictype/ctype_upper.c: New file.
27027         * lib/unictype/ctype_xdigit.c: New file.
27028         * lib/unictype/decdigit.c: New file.
27029         * lib/unictype/digit.c: New file.
27030         * lib/unictype/identsyntaxmap.h: New file.
27031         * lib/unictype/mirror.c: New file.
27032         * lib/unictype/numeric.c: New file.
27033         * lib/unictype/pr_alphabetic.c: New file.
27034         * lib/unictype/pr_ascii_hex_digit.c: New file.
27035         * lib/unictype/pr_bidi_arabic_digit.c: New file.
27036         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
27037         * lib/unictype/pr_bidi_block_separator.c: New file.
27038         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
27039         * lib/unictype/pr_bidi_common_separator.c: New file.
27040         * lib/unictype/pr_bidi_control.c: New file.
27041         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
27042         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
27043         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
27044         * lib/unictype/pr_bidi_european_digit.c: New file.
27045         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
27046         * lib/unictype/pr_bidi_left_to_right.c: New file.
27047         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
27048         * lib/unictype/pr_bidi_other_neutral.c: New file.
27049         * lib/unictype/pr_bidi_pdf.c: New file.
27050         * lib/unictype/pr_bidi_segment_separator.c: New file.
27051         * lib/unictype/pr_bidi_whitespace.c: New file.
27052         * lib/unictype/pr_byname.c: New file.
27053         * lib/unictype/pr_byname.gperf: New file.
27054         * lib/unictype/pr_combining.c: New file.
27055         * lib/unictype/pr_composite.c: New file.
27056         * lib/unictype/pr_currency_symbol.c: New file.
27057         * lib/unictype/pr_dash.c: New file.
27058         * lib/unictype/pr_decimal_digit.c: New file.
27059         * lib/unictype/pr_default_ignorable_code_point.c: New file.
27060         * lib/unictype/pr_deprecated.c: New file.
27061         * lib/unictype/pr_diacritic.c: New file.
27062         * lib/unictype/pr_extender.c: New file.
27063         * lib/unictype/pr_format_control.c: New file.
27064         * lib/unictype/pr_grapheme_base.c: New file.
27065         * lib/unictype/pr_grapheme_extend.c: New file.
27066         * lib/unictype/pr_grapheme_link.c: New file.
27067         * lib/unictype/pr_hex_digit.c: New file.
27068         * lib/unictype/pr_hyphen.c: New file.
27069         * lib/unictype/pr_id_continue.c: New file.
27070         * lib/unictype/pr_id_start.c: New file.
27071         * lib/unictype/pr_ideographic.c: New file.
27072         * lib/unictype/pr_ids_binary_operator.c: New file.
27073         * lib/unictype/pr_ids_trinary_operator.c: New file.
27074         * lib/unictype/pr_ignorable_control.c: New file.
27075         * lib/unictype/pr_iso_control.c: New file.
27076         * lib/unictype/pr_join_control.c: New file.
27077         * lib/unictype/pr_left_of_pair.c: New file.
27078         * lib/unictype/pr_line_separator.c: New file.
27079         * lib/unictype/pr_logical_order_exception.c: New file.
27080         * lib/unictype/pr_lowercase.c: New file.
27081         * lib/unictype/pr_math.c: New file.
27082         * lib/unictype/pr_non_break.c: New file.
27083         * lib/unictype/pr_not_a_character.c: New file.
27084         * lib/unictype/pr_numeric.c: New file.
27085         * lib/unictype/pr_other_alphabetic.c: New file.
27086         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
27087         * lib/unictype/pr_other_grapheme_extend.c: New file.
27088         * lib/unictype/pr_other_id_continue.c: New file.
27089         * lib/unictype/pr_other_id_start.c: New file.
27090         * lib/unictype/pr_other_lowercase.c: New file.
27091         * lib/unictype/pr_other_math.c: New file.
27092         * lib/unictype/pr_other_uppercase.c: New file.
27093         * lib/unictype/pr_paired_punctuation.c: New file.
27094         * lib/unictype/pr_paragraph_separator.c: New file.
27095         * lib/unictype/pr_pattern_syntax.c: New file.
27096         * lib/unictype/pr_pattern_white_space.c: New file.
27097         * lib/unictype/pr_private_use.c: New file.
27098         * lib/unictype/pr_punctuation.c: New file.
27099         * lib/unictype/pr_quotation_mark.c: New file.
27100         * lib/unictype/pr_radical.c: New file.
27101         * lib/unictype/pr_sentence_terminal.c: New file.
27102         * lib/unictype/pr_soft_dotted.c: New file.
27103         * lib/unictype/pr_space.c: New file.
27104         * lib/unictype/pr_terminal_punctuation.c: New file.
27105         * lib/unictype/pr_test.c: New file.
27106         * lib/unictype/pr_titlecase.c: New file.
27107         * lib/unictype/pr_unassigned_code_value.c: New file.
27108         * lib/unictype/pr_unified_ideograph.c: New file.
27109         * lib/unictype/pr_uppercase.c: New file.
27110         * lib/unictype/pr_variation_selector.c: New file.
27111         * lib/unictype/pr_white_space.c: New file.
27112         * lib/unictype/pr_xid_continue.c: New file.
27113         * lib/unictype/pr_xid_start.c: New file.
27114         * lib/unictype/pr_zero_width.c: New file.
27115         * lib/unictype/scripts.c: New file.
27116         * lib/unictype/sy_c_ident.c: New file.
27117         * lib/unictype/sy_c_whitespace.c: New file.
27118         * lib/unictype/sy_java_ident.c: New file.
27119         * lib/unictype/sy_java_whitespace.c: New file.
27120
27121         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
27122         Unicode 5.0.0.
27123         * lib/unictype/blocks.h: Likewise.
27124         * lib/unictype/categ_C.h: Likewise.
27125         * lib/unictype/categ_Cc.h: Likewise.
27126         * lib/unictype/categ_Cf.h: Likewise.
27127         * lib/unictype/categ_Cn.h: Likewise.
27128         * lib/unictype/categ_Co.h: Likewise.
27129         * lib/unictype/categ_Cs.h: Likewise.
27130         * lib/unictype/categ_L.h: Likewise.
27131         * lib/unictype/categ_Ll.h: Likewise.
27132         * lib/unictype/categ_Lm.h: Likewise.
27133         * lib/unictype/categ_Lo.h: Likewise.
27134         * lib/unictype/categ_Lt.h: Likewise.
27135         * lib/unictype/categ_Lu.h: Likewise.
27136         * lib/unictype/categ_M.h: Likewise.
27137         * lib/unictype/categ_Mc.h: Likewise.
27138         * lib/unictype/categ_Me.h: Likewise.
27139         * lib/unictype/categ_Mn.h: Likewise.
27140         * lib/unictype/categ_N.h: Likewise.
27141         * lib/unictype/categ_Nd.h: Likewise.
27142         * lib/unictype/categ_Nl.h: Likewise.
27143         * lib/unictype/categ_No.h: Likewise.
27144         * lib/unictype/categ_P.h: Likewise.
27145         * lib/unictype/categ_Pc.h: Likewise.
27146         * lib/unictype/categ_Pd.h: Likewise.
27147         * lib/unictype/categ_Pe.h: Likewise.
27148         * lib/unictype/categ_Pf.h: Likewise.
27149         * lib/unictype/categ_Pi.h: Likewise.
27150         * lib/unictype/categ_Po.h: Likewise.
27151         * lib/unictype/categ_Ps.h: Likewise.
27152         * lib/unictype/categ_S.h: Likewise.
27153         * lib/unictype/categ_Sc.h: Likewise.
27154         * lib/unictype/categ_Sk.h: Likewise.
27155         * lib/unictype/categ_Sm.h: Likewise.
27156         * lib/unictype/categ_So.h: Likewise.
27157         * lib/unictype/categ_Z.h: Likewise.
27158         * lib/unictype/categ_Zl.h: Likewise.
27159         * lib/unictype/categ_Zp.h: Likewise.
27160         * lib/unictype/categ_Zs.h: Likewise.
27161         * lib/unictype/categ_of.h: Likewise.
27162         * lib/unictype/combining.h: Likewise.
27163         * lib/unictype/ctype_alnum.h: Likewise.
27164         * lib/unictype/ctype_alpha.h: Likewise.
27165         * lib/unictype/ctype_blank.h: Likewise.
27166         * lib/unictype/ctype_cntrl.h: Likewise.
27167         * lib/unictype/ctype_digit.h: Likewise.
27168         * lib/unictype/ctype_graph.h: Likewise.
27169         * lib/unictype/ctype_lower.h: Likewise.
27170         * lib/unictype/ctype_print.h: Likewise.
27171         * lib/unictype/ctype_punct.h: Likewise.
27172         * lib/unictype/ctype_space.h: Likewise.
27173         * lib/unictype/ctype_upper.h: Likewise.
27174         * lib/unictype/ctype_xdigit.h: Likewise.
27175         * lib/unictype/decdigit.h: Likewise.
27176         * lib/unictype/digit.h: Likewise.
27177         * lib/unictype/mirror.h: Likewise.
27178         * lib/unictype/numeric.h: Likewise.
27179         * lib/unictype/pr_alphabetic.h: Likewise.
27180         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
27181         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
27182         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
27183         * lib/unictype/pr_bidi_block_separator.h: Likewise.
27184         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
27185         * lib/unictype/pr_bidi_common_separator.h: Likewise.
27186         * lib/unictype/pr_bidi_control.h: Likewise.
27187         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
27188         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
27189         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
27190         * lib/unictype/pr_bidi_european_digit.h: Likewise.
27191         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
27192         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
27193         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
27194         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
27195         * lib/unictype/pr_bidi_pdf.h: Likewise.
27196         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
27197         * lib/unictype/pr_bidi_whitespace.h: Likewise.
27198         * lib/unictype/pr_combining.h: Likewise.
27199         * lib/unictype/pr_composite.h: Likewise.
27200         * lib/unictype/pr_currency_symbol.h: Likewise.
27201         * lib/unictype/pr_dash.h: Likewise.
27202         * lib/unictype/pr_decimal_digit.h: Likewise.
27203         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
27204         * lib/unictype/pr_deprecated.h: Likewise.
27205         * lib/unictype/pr_diacritic.h: Likewise.
27206         * lib/unictype/pr_extender.h: Likewise.
27207         * lib/unictype/pr_format_control.h: Likewise.
27208         * lib/unictype/pr_grapheme_base.h: Likewise.
27209         * lib/unictype/pr_grapheme_extend.h: Likewise.
27210         * lib/unictype/pr_grapheme_link.h: Likewise.
27211         * lib/unictype/pr_hex_digit.h: Likewise.
27212         * lib/unictype/pr_hyphen.h: Likewise.
27213         * lib/unictype/pr_id_continue.h: Likewise.
27214         * lib/unictype/pr_id_start.h: Likewise.
27215         * lib/unictype/pr_ideographic.h: Likewise.
27216         * lib/unictype/pr_ids_binary_operator.h: Likewise.
27217         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
27218         * lib/unictype/pr_ignorable_control.h: Likewise.
27219         * lib/unictype/pr_iso_control.h: Likewise.
27220         * lib/unictype/pr_join_control.h: Likewise.
27221         * lib/unictype/pr_left_of_pair.h: Likewise.
27222         * lib/unictype/pr_line_separator.h: Likewise.
27223         * lib/unictype/pr_logical_order_exception.h: Likewise.
27224         * lib/unictype/pr_lowercase.h: Likewise.
27225         * lib/unictype/pr_math.h: Likewise.
27226         * lib/unictype/pr_non_break.h: Likewise.
27227         * lib/unictype/pr_not_a_character.h: Likewise.
27228         * lib/unictype/pr_numeric.h: Likewise.
27229         * lib/unictype/pr_other_alphabetic.h: Likewise.
27230         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
27231         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
27232         * lib/unictype/pr_other_id_continue.h: Likewise.
27233         * lib/unictype/pr_other_id_start.h: Likewise.
27234         * lib/unictype/pr_other_lowercase.h: Likewise.
27235         * lib/unictype/pr_other_math.h: Likewise.
27236         * lib/unictype/pr_other_uppercase.h: Likewise.
27237         * lib/unictype/pr_paired_punctuation.h: Likewise.
27238         * lib/unictype/pr_paragraph_separator.h: Likewise.
27239         * lib/unictype/pr_pattern_syntax.h: Likewise.
27240         * lib/unictype/pr_pattern_white_space.h: Likewise.
27241         * lib/unictype/pr_private_use.h: Likewise.
27242         * lib/unictype/pr_punctuation.h: Likewise.
27243         * lib/unictype/pr_quotation_mark.h: Likewise.
27244         * lib/unictype/pr_radical.h: Likewise.
27245         * lib/unictype/pr_sentence_terminal.h: Likewise.
27246         * lib/unictype/pr_soft_dotted.h: Likewise.
27247         * lib/unictype/pr_space.h: Likewise.
27248         * lib/unictype/pr_terminal_punctuation.h: Likewise.
27249         * lib/unictype/pr_titlecase.h: Likewise.
27250         * lib/unictype/pr_unassigned_code_value.h: Likewise.
27251         * lib/unictype/pr_unified_ideograph.h: Likewise.
27252         * lib/unictype/pr_uppercase.h: Likewise.
27253         * lib/unictype/pr_variation_selector.h: Likewise.
27254         * lib/unictype/pr_white_space.h: Likewise.
27255         * lib/unictype/pr_xid_continue.h: Likewise.
27256         * lib/unictype/pr_xid_start.h: Likewise.
27257         * lib/unictype/pr_zero_width.h: Likewise.
27258         * lib/unictype/scripts.h: Likewise.
27259         * lib/unictype/scripts_byname.gperf: Likewise.
27260         * lib/unictype/sy_c_ident.h: Likewise.
27261         * lib/unictype/sy_c_whitespace.h: Likewise.
27262         * lib/unictype/sy_java_ident.h: Likewise.
27263         * lib/unictype/sy_java_whitespace.h: Likewise.
27264
27265         * lib/unictype/Makefile: New file.
27266         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
27267         glibc.
27268         * lib/unictype/3level.h: New file, copied from glibc.
27269         * lib/unictype/3levelbit.h: New file.
27270
27271 2007-11-11  Bruno Haible  <bruno@clisp.org>
27272
27273         * modules/gperf: New file.
27274         * modules/iconv_open (Depends-on): Add it.
27275         (Makefile.am): Remove the GPERF definition.
27276
27277 2007-11-11  Bruno Haible  <bruno@clisp.org>
27278
27279         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
27280         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
27281
27282 2007-11-11  Bruno Haible  <bruno@clisp.org>
27283
27284         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
27285         (usage): Remove function.
27286
27287 2007-11-11  Bruno Haible  <bruno@clisp.org>
27288
27289         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
27290         gl_FUNC_CEILF_LIBS.
27291         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
27292         gl_FUNC_CEIL_LIBS.
27293         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
27294         gl_FUNC_CEILL_LIBS.
27295         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
27296         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
27297         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
27298
27299 2007-11-11  Bruno Haible  <bruno@clisp.org>
27300
27301         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
27302         roundf were declared but do not exist on functions.
27303         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
27304         roundl were declared but do not exist on functions.
27305         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
27306         HAVE_FLOORL_AND_CEILL, respectively.
27307         Needed for Sun C on Solaris 10.
27308
27309 2007-11-11  Bruno Haible  <bruno@clisp.org>
27310
27311         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
27312         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
27313         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
27314         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
27315         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
27316         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
27317         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
27318         HAVE_DECL_ROUNDF.
27319         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
27320         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
27321         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
27322         of HAVE_DECL_ROUND*.
27323         * modules/math (Makefile.am): Update.
27324
27325 2007-11-10  Bruno Haible  <bruno@clisp.org>
27326
27327         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
27328         ptrdiff_t as m4/intl.m4.
27329
27330 2007-11-10  Jim Meyering  <meyering@redhat.com>
27331
27332         Avoid link failure for the argmatch test.
27333         * tests/test-argmatch.c (usage): Define function to avoid a link
27334         failure: argmatch_die requires a usage function.
27335
27336 2007-11-09  Bruno Haible  <bruno@clisp.org>
27337
27338         * doc/functions/snprintf.texi: Mention BeOS deficiency.
27339         * doc/functions/vsnprintf.texi: Likewise.
27340         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
27341         with a size argument < 2.
27342
27343 2007-11-09  Bruno Haible  <bruno@clisp.org>
27344
27345         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
27346         buffer. Fixes an inefficiency introduced on 2007-11-03.
27347
27348 2007-11-09  Bruno Haible  <bruno@clisp.org>
27349
27350         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
27351         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
27352
27353 2007-11-08  Jim Meyering  <meyering@redhat.com>
27354
27355         Change cache variable name prefix "jm_" to "gl_" everywhere.
27356         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
27357         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
27358         * m4/uptime.m4: s/gl_/jm_/
27359
27360 2007-11-07  Bruno Haible  <bruno@clisp.org>
27361
27362         Update to GNU gettext 0.17.
27363         * m4/intl.m4: Update to GNU gettext 0.17.
27364         * m4/po.m4: Likewise.
27365         * modules/gettext (Files): Remove m4/ulonglong.m4.
27366         (configure.ac): Require gettext infrastructure from version 0.17.
27367
27368 2007-11-06  Bruno Haible  <bruno@clisp.org>
27369
27370         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
27371         symbolic values are not defined in a public header.
27372         * lib/freadable.c (freadable) [QNX]: Likewise.
27373         * lib/freadahead.c (freadahead) [QNX]: Likewise.
27374         * lib/freading.c (freading) [QNX]: Likewise.
27375         * lib/fseterr.c (fseterr) [QNX]: Likewise.
27376         * lib/fwritable.c (fwritable) [QNX]: Likewise.
27377         * lib/fwriting.c (fwriting) [QNX]: Likewise.
27378         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
27379         Reported by Alain Magloire.
27380
27381         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
27382
27383 2007-11-05  Bruno Haible  <bruno@clisp.org>
27384
27385         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
27386         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
27387         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
27388         Reported by Eric Blake.
27389
27390 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27391             Bruno Haible  <bruno@clisp.org>
27392
27393         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
27394         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
27395         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
27396         (malloc): Undefine also before including <stdlib.h>.
27397         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
27398         Needed on OSF/1 4.0.
27399
27400 2007-11-05  Jim Meyering  <meyering@redhat.com>
27401
27402         git-version-gen: sync from coreutils.
27403         * build-aux/git-version-gen: Add comments.
27404         Change the first '-' to '.' in the snapshot version string,
27405         e.g., 6.9-377-08144 -> 6.9.377-08144
27406         Remove first parameter.
27407         Don't declare a version "-dirty" merely because a time
27408         stamp has changed.
27409
27410 2007-11-04  Bruno Haible  <bruno@clisp.org>
27411
27412         * lib/lock.h: Protect all macro definitions containing an 'if'
27413         statement through a "do { ... } while (0)".
27414         * lib/tls.h: Likewise.
27415
27416 2007-11-04  Bruno Haible  <bruno@clisp.org>
27417
27418         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
27419
27420 2007-11-04  Bruno Haible  <bruno@clisp.org>
27421
27422         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
27423         * modules/fprintf-posix (Depends-on): Add nocrash.
27424         * modules/snprintf-posix (Depends-on): Likewise.
27425         * modules/sprintf-posix (Depends-on): Likewise.
27426         * modules/vasnprintf-posix (Depends-on): Likewise.
27427         * modules/vasprintf-posix (Depends-on): Likewise.
27428         * modules/vfprintf-posix (Depends-on): Likewise.
27429         * modules/vsnprintf-posix (Depends-on): Likewise.
27430         * modules/vsprintf-posix (Depends-on): Likewise.
27431         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27432         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27433         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27434         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27435         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27436         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27437         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27438
27439 2007-11-04  Bruno Haible  <bruno@clisp.org>
27440
27441         * modules/nocrash: New file.
27442         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
27443         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
27444
27445 2007-11-04  Bruno Haible  <bruno@clisp.org>
27446
27447         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
27448         precision handling.
27449         * tests/test-vasprintf-posix.c (test_function): Likewise.
27450         * tests/test-snprintf-posix.h (test_function): Likewise.
27451         * tests/test-sprintf-posix.h (test_function): Likewise.
27452
27453         Fix *printf behaviour for large precisions on mingw and BeOS.
27454         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
27455         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
27456         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
27457         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27458         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27459         gl_PRINTF_PRECISION and test its result. Invoke
27460         gl_PREREQ_VASNPRINTF_PRECISION.
27461         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27462         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27463         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27464         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27465         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27466         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27467         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27468         * doc/functions/fprintf.texi: Update.
27469         * doc/functions/printf.texi: Update.
27470         * doc/functions/snprintf.texi: Update.
27471         * doc/functions/sprintf.texi: Update.
27472         * doc/functions/vfprintf.texi: Update.
27473         * doc/functions/vprintf.texi: Update.
27474         * doc/functions/vsnprintf.texi: Update.
27475         * doc/functions/vsprintf.texi: Update.
27476
27477 2007-11-04  Bruno Haible  <bruno@clisp.org>
27478
27479         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
27480
27481 2007-11-04  Bruno Haible  <bruno@clisp.org>
27482
27483         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
27484         Reported by Sylvain Beucler <beuc@gnu.org>.
27485
27486 2007-11-03  Bruno Haible  <bruno@clisp.org>
27487
27488         * tests/test-fprintf-posix2.sh: New file.
27489         * tests/test-fprintf-posix2.c: New file.
27490         * modules/fprintf-posix-tests (Files): Add them.
27491         (TESTS): Add test-fprintf-posix2.sh.
27492         (configure.ac): Check for getrlimit and setrlimit.
27493         (check_PROGRAMS): Add test-fprintf-posix2.
27494
27495         * tests/test-printf-posix2.sh: New file.
27496         * tests/test-printf-posix2.c: New file.
27497         * modules/printf-posix-tests (Files): Add them.
27498         (TESTS): Add test-printf-posix2.sh.
27499         (configure.ac): Check for getrlimit and setrlimit.
27500         (check_PROGRAMS): Add test-printf-posix2.
27501
27502         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
27503         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
27504         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
27505         (decode_double): New function, copied from decode_long_double.
27506         (scale10_round_decimal_decoded): New function, extracted from
27507         scale10_round_decimal_long_double.
27508         (scale10_round_decimal_long_double): Use it.
27509         (scale10_round_decimal_double): New function.
27510         (floorlog10): New function.
27511         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
27512         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
27513         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27514         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27515         gl_PRINTF_ENOMEM and test its result. Invoke
27516         gl_PREREQ_VASNPRINTF_ENOMEM.
27517         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27518         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27519         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27520         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27521         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27522         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27523         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27524         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
27525         * modules/snprintf-posix (Depends-on): Likewise.
27526         * modules/sprintf-posix (Depends-on): Likewise.
27527         * modules/vasnprintf-posix (Depends-on): Likewise.
27528         * modules/vasprintf-posix (Depends-on): Likewise.
27529         * modules/vfprintf-posix (Depends-on): Likewise.
27530         * modules/vsnprintf-posix (Depends-on): Likewise.
27531         * modules/vsprintf-posix (Depends-on): Likewise.
27532         * doc/functions/fprintf.texi: Update.
27533         * doc/functions/printf.texi: Update.
27534         * doc/functions/snprintf.texi: Update.
27535         * doc/functions/sprintf.texi: Update.
27536         * doc/functions/vfprintf.texi: Update.
27537         * doc/functions/vprintf.texi: Update.
27538         * doc/functions/vsnprintf.texi: Update.
27539         * doc/functions/vsprintf.texi: Update.
27540
27541 2007-11-03  Bruno Haible  <bruno@clisp.org>
27542
27543         * modules/frexp-nolibm-tests: New file.
27544
27545         * modules/frexp-nolibm: New file.
27546         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
27547
27548 2007-11-03  Bruno Haible  <bruno@clisp.org>
27549
27550         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
27551         value is C99 compliant.
27552         Needed for OSF/1 5.1.
27553
27554 2007-11-03  Bruno Haible  <bruno@clisp.org>
27555
27556         Fix out-of-memory handling of vasnprintf.
27557         * lib/printf-parse.c: Include <errno.h>.
27558         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
27559         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
27560         is already set.
27561
27562 2007-11-02  Eric Blake  <ebb9@byu.net>
27563
27564         Fix tests on cygwin.
27565         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
27566
27567 2007-11-01  Bruno Haible  <bruno@clisp.org>
27568
27569         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
27570         warning.
27571         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
27572         needed for POSIX compatibility.
27573
27574 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27575
27576         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
27577         for compatibility with GNU.
27578
27579 2007-11-01  Bruno Haible  <bruno@clisp.org>
27580
27581         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
27582         (putenv): Renamed from rpl_putenv. Change argument type from
27583         'const char *' to 'char *'.
27584         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
27585         of defining putenv in config.h, just set REPLACE_PUTENV.
27586         * modules/putenv (Depends-on): Add stdlib.
27587         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
27588         (Include): Use <stdlib.h>.
27589         * lib/stdlib.in.h (putenv): New declaration.
27590         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
27591         REPLACE_PUTENV.
27592         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
27593         REPLACE_PUTENV.
27594         Needed for MacOS X 10.5.0.
27595         Reported by Peter O'Gorman <peter@pogma.com>.
27596
27597 2007-11-01  Jim Meyering  <meyering@redhat.com>
27598
27599         Treat an empty date string exactly like "0".
27600         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
27601         if the remaining date string (to be parsed) is empty, use "0".
27602         Reported by Mischa Molhoek and discussed in this thread:
27603         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
27604
27605 2007-10-31  Bruno Haible  <bruno@clisp.org>
27606
27607         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
27608         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
27609         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
27610         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
27611         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
27612         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
27613
27614 2007-10-31  Bruno Haible  <bruno@clisp.org>
27615
27616         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
27617         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
27618         (AC_TYPE_LONG_LONG_INT): Use it.
27619         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
27620         it as well.
27621         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
27622         to m4/longlong.m4.
27623         * modules/stdint (Files): Remove m4/ulonglong.m4.
27624         * modules/strtoull (Files): Use m4/longlong.m4 instead of
27625         m4/ulonglong.m4.
27626         * modules/strtoumax (Files): Likewise.
27627
27628 2007-10-30  Bruno Haible  <bruno@clisp.org>
27629
27630         * modules/xvasprintf-posix: New file.
27631         Suggested by Eric Blake.
27632
27633 2007-10-30  Bruno Haible  <bruno@clisp.org>
27634
27635         * modules/xprintf-posix-tests: New file.
27636         * tests/test-xprintf-posix.sh: New file.
27637         * tests/test-xprintf-posix.c: New file.
27638         * tests/test-xfprintf-posix.c: New file.
27639
27640         * modules/xprintf-posix: New file.
27641
27642 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27643
27644         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
27645         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
27646         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
27647
27648 2007-10-29  Bruno Haible  <bruno@clisp.org>
27649
27650         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
27651         contain the special marker '_cv_'.
27652         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27653         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27654         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27655         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27656         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27657         Reported by Ralf Wildenhues.
27658
27659 2007-10-29  Bruno Haible  <bruno@clisp.org>
27660
27661         * gnulib-tool (func_import): When --lgpl is not specified, set
27662         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
27663         GPLv3.
27664         Reported by Simon Josefsson.
27665
27666 2007-10-28  Bruno Haible  <bruno@clisp.org>
27667
27668         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
27669         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
27670         HAVE_DECL_ISFINITE.
27671         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
27672         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
27673         HAVE_DECL_ISFINITE.
27674
27675 2007-10-28  Bruno Haible  <bruno@clisp.org>
27676
27677         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
27678         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
27679
27680 2007-10-28  Bruno Haible  <bruno@clisp.org>
27681
27682         Fix link errors with Sun C 5.0 on Solaris 10.
27683         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
27684         function is declared but not present in the compiler's libm.
27685         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27686         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
27687         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
27688         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
27689         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
27690         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
27691         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
27692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
27693         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
27694         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
27695         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
27696         HAVE_DECL_FLOORL.
27697
27698 2007-10-28  Bruno Haible  <bruno@clisp.org>
27699
27700         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
27701         gl_FUNC_FLOORL. Cache the result.
27702         (gl_FUNC_FLOORL): Use it.
27703         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
27704         gl_FUNC_CEILL. Cache the result.
27705         (gl_FUNC_CEILL): Use it.
27706
27707         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
27708         gl_FUNC_FLOOR. Cache the result.
27709         (gl_FUNC_FLOOR): Use it.
27710         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
27711         gl_FUNC_CEIL. Cache the result.
27712         (gl_FUNC_CEIL): Use it.
27713
27714         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
27715         gl_FUNC_FLOORF. Cache the result.
27716         (gl_FUNC_FLOORF): Use it.
27717         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
27718         gl_FUNC_CEILF. Cache the result.
27719         (gl_FUNC_CEILF): Use it.
27720
27721 2007-10-28  Bruno Haible  <bruno@clisp.org>
27722
27723         * gnulib-tool: Allow specifying the LGPL version number through
27724         --lgpl=2 or --lgpl=3.
27725         (func_usage): Document --lgpl with argument.
27726         Handle --lgpl=... arguments.
27727         (func_import): Recognize also gl_LGPL calls with an argument. When
27728         --lgpl=2 is used and the module's license is just LGPL, report an
27729         error. Set sed_transform_lib_file according to the lgpl variable. In
27730         the generated files, use --lgpl or gl_LGPL invocations with argument,
27731         if necessary.
27732         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
27733         an LGPv2+ license.
27734         * doc/gnulib-tool.texi (Modified imports): Update explanation of
27735         gl_LGPL macro.
27736
27737 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27738             Bruno Haible  <bruno@clisp.org>
27739
27740         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
27741         (u16_uctomb_aux): Likewise.
27742         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
27743         !HAVE_INLINE.
27744         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
27745
27746 2007-10-28  Bruno Haible  <bruno@clisp.org>
27747
27748         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
27749         Invoke AM_GETTEXT_OPTION if it exists.
27750         * modules/vasprintf: Likewise.
27751         * modules/verror: Likewise.
27752         * modules/xprintf: Likewise.
27753         * modules/xvasprintf: Likewise.
27754
27755 2007-10-27  Ben Pfaff  <blp@gnu.org>
27756
27757         * lib/math.in.h: Define isfinite macro and prototypes for
27758         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
27759         implementations.
27760         * m4/math_h.m4: New substitutions for isfinite module.
27761         * lib/isfinite.c: New file.
27762         * m4/isfinite.m4: New file.
27763         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
27764         * modules/isfinite: New file.
27765         * modules/isfinite-tests: New file.
27766         * tests/tests-isfinite.c: New file.
27767         * doc/functions/isfinite.texi: Mention isfinite module.
27768         * MODULES.html.sh: Mention new module.
27769
27770 2007-10-27  Ben Pfaff  <blp@gnu.org>
27771
27772         Ralf Wildenhues reported that Tru64 4.0D declares the round
27773         functions but does not have definitions.
27774         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
27775         cannot be found in any library, set the output variable to
27776         "missing" instead of "".
27777         * m4/round.m4: Also use our substitute if we cannot find round in
27778         any library, even if it is declared.
27779         * m4/roundf.m4: Likewise for roundf.
27780         * m4/roundl.m4: Likewise for roundl.
27781         * lib/math.in.h: Undefine roundf, round, roundl before defining
27782         their replacements, to allow for hypothetical systems where these
27783         may be defined as macros but not available in libraries.
27784
27785 2007-10-27  Bruno Haible  <bruno@clisp.org>
27786
27787         * doc/gnulib.texi: Invoke @firstparagraphindent.
27788         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
27789         changes in gnulib.
27790         (Source changes): New section.
27791
27792 2007-10-26  Bruno Haible  <bruno@clisp.org>
27793
27794         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
27795         borrowed from autoconf.
27796
27797 2007-10-26  Bruno Haible  <bruno@clisp.org>
27798
27799         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
27800         strerror returned the empty string. Needed on HP-UX 11.00.
27801
27802 2007-10-24  Micah Cowan  <micah@cowan.name>
27803
27804         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
27805         * build-aux/bootstrap: Remove support for now-unnecessary option,
27806         --cvs-user, and envvars CVS_USER, CVS_RSH.
27807
27808 2007-10-24  Jim Meyering  <meyering@redhat.com>
27809
27810         Avoid diagnostics from sha1sum when there is no cached checksum.
27811         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
27812         if the po.s1 file hasn't been created yet.
27813
27814         * build-aux/bootstrap: Sync from coreutils:
27815         2007-10-24  Jim Meyering  <meyering@redhat.com>
27816         Get gnulib from the git repository, not from an obsolete cvs one.
27817         * build-aux/bootstrap: Suggestion from Micah Cowan.
27818         2007-10-04  Jim Meyering  <jim@meyering.net>
27819         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
27820         (update_po_files): Work also when there are no .po files in po/.
27821
27822 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
27823
27824         * README: Append ".git" to git and cg examples.
27825         Problem reported by Benoit Sigoure.
27826
27827 2007-10-23  Micah Cowan  <micah@cowan.name>
27828
27829         * users.txt: Add wget.
27830
27831 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27832
27833         Fix linking of some unistdio tests on FreeBSD.
27834         * modules/unistdio/u16-vsnprintf-tests
27835         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
27836         * modules/unistdio/u16-vsprintf-tests
27837         (test_u16_vsnprintf1_LDADD): Likewise.
27838         * modules/unistdio/u32-vsnprintf-tests
27839         (test_u32_vsnprintf1_LDADD): Likewise.
27840         * modules/unistdio/u32-vsprintf-tests
27841         (test_u32_vsprintf1_LDADD): Likewise.
27842         * modules/unistdio/u8-vsnprintf-tests
27843         (test_u8_vsnprintf1_LDADD): Likewise.
27844         * modules/unistdio/u8-vsprintf-tests
27845         (test_u8_vsprintf1_LDADD): Likewise.
27846         * modules/unistdio/ulc-vsnprintf-tests
27847         (test_ulc_vsnprintf1_LDADD): Likewise.
27848         * modules/unistdio/ulc-vsprintf-tests
27849         (test_ulc_vsprintf1_LDADD): Likewise.
27850
27851         Fix linking of some uniconv tests on FreeBSD.
27852         * modules/uniconv/u16-conv-from-enc-tests
27853         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
27854         * modules/uniconv/u16-conv-to-enc-tests
27855         (test_u16_conv_to_enc_LDADD): Likewise.
27856         * modules/uniconv/u16-strconv-from-enc-tests
27857         (test_u16_strconv_from_enc_LDADD): Likewise.
27858         * modules/uniconv/u16-strconv-to-enc-tests
27859         (test_u16_strconv_to_enc_LDADD): Likewise.
27860         * modules/uniconv/u32-conv-from-enc-tests
27861         (test_u32_conv_from_enc_LDADD): Likewise.
27862         * modules/uniconv/u32-conv-to-enc-tests
27863         (test_u32_conv_to_enc_LDADD): Likewise.
27864         * modules/uniconv/u32-strconv-from-enc-tests
27865         (test_u32_strconv_from_enc_LDADD): Likewise.
27866         * modules/uniconv/u32-strconv-to-enc-tests
27867         (test_u32_strconv_to_enc_LDADD): Likewise.
27868         * modules/uniconv/u8-conv-from-enc-tests
27869         (test_u8_conv_from_enc_LDADD): Likewise.
27870         * modules/uniconv/u8-conv-to-enc-tests
27871         (test_u8_conv_to_enc_LDADD): Likewise.
27872         * modules/uniconv/u8-strconv-from-enc-tests
27873         (test_u8_strconv_from_enc_LDADD): Likewise.
27874         * modules/uniconv/u8-strconv-to-enc-tests
27875         (test_u8_strconv_to_enc_LDADD): Likewise.
27876
27877 2007-10-22  Bruno Haible  <bruno@clisp.org>
27878
27879         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
27880         size.
27881
27882 2007-10-22  Eric Blake  <ebb9@byu.net>
27883
27884         Tweak x*printf documentation.
27885         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
27886         variable name and comments.
27887         Suggested by Bruno Haible.
27888
27889 2007-10-22  Bruno Haible  <bruno@clisp.org>
27890
27891         * lib/acl.c (copy_acl): Fix file name in comment.
27892
27893 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
27894
27895         Fix Tru64 problem with stdbool.h.
27896         * lib/stdbool.in.h (false, true):
27897         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
27898         Don't declare as an enum in this situation; it runs afoul of Tru64.
27899         Problem reported by Steven M. Schweda in
27900         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
27901
27902 2007-10-22  Eric Blake  <ebb9@byu.net>
27903
27904         Also wrap vf?printf.
27905         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
27906         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
27907         (xvprintf, xvfprintf): New functions.
27908
27909 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27910
27911         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
27912         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
27913
27914         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
27915         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
27916
27917 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
27918
27919         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
27920         by Bruno Haible.
27921
27922 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27923
27924         * lib/getloadavg.c
27925         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
27926         Undef `sys' after including sys/table.h, for Tru64 4.0D.
27927
27928         * tests/test-i-ring.c: Work for C89.
27929
27930 2007-10-22  Bruno Haible  <bruno@clisp.org>
27931
27932         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
27933         -1u, in preprocessor expression, so that we don't test for the bug
27934         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
27935         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
27936
27937 2007-10-22  Eric Blake  <ebb9@byu.net>
27938
27939         * tests/test-yesno.sh: Silence stderr during test.
27940
27941 2007-10-22  Simon Josefsson  <simon@josefsson.org>
27942
27943         * modules/crypto/gc-camellia: New file.
27944
27945         * m4/gc-camellia.m4: New file.
27946
27947         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
27948
27949         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
27950
27951 2007-10-22  Simon Josefsson  <simon@josefsson.org>
27952
27953         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
27954         --help to stdout.  Reported by sms@antinode.org (Steven
27955         M. Schweda).
27956
27957 2007-10-22  Simon Josefsson  <simon@josefsson.org>
27958
27959         * users.txt: Fix link to libksba.
27960
27961 2007-10-21  Ben Pfaff  <blp@gnu.org>
27962
27963         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
27964         round.c roundf implementation that depends on floorf and ceilf to
27965         be tested unconditionally.
27966
27967 2007-10-21  Ben Pfaff  <blp@gnu.org>
27968
27969         * m4/check-libm-func.m4: Removed.
27970         * m4/check-math-lib.m4: New file.
27971         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
27972         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
27973         definition and lack of AC_LIBOBJ([roundf]).
27974         * m4/roundl.m4: Ditto, and similarly for roundl.
27975         * modules/round: Reference new m4 file.
27976         * modules/roundf: Ditto.
27977         * modules/roundl: Ditto.
27978         * tests/test-round2.c (main): Use ROUND instead of round.
27979         Bug report from Bruno Haible.
27980
27981 2007-10-21  Bruno Haible  <bruno@clisp.org>
27982
27983         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
27984         context.
27985
27986 2007-10-21  Bruno Haible  <bruno@clisp.org>
27987
27988         * tests/test-wcwidth.c (main): Allow negative result for some control
27989         characters.
27990
27991         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
27992         Needed on OSF/1 5.1.
27993
27994 2007-10-21  Bruno Haible  <bruno@clisp.org>
27995
27996         * tests/test-floorf1.c: Include isnanf.h.
27997         (main): Use isnanf() instead of isnan().
27998         * tests/test-ceilf1.c: Include isnanf.h.
27999         (main): Use isnanf() instead of isnan().
28000         * tests/test-truncf1.c: Include isnanf.h.
28001         (main): Use isnanf() instead of isnan().
28002         * tests/test-roundf1.c: Include isnanf.h.
28003         (main): Use isnanf() instead of isnan().
28004
28005 2007-10-21  Eric Blake  <ebb9@byu.net>
28006
28007         * users.txt: Update URL for m4.
28008
28009 2007-10-21  Bruno Haible  <bruno@clisp.org>
28010
28011         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
28012
28013 2007-10-21  Bruno Haible  <bruno@clisp.org>
28014
28015         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
28016         Git's management files if the CVS files are not present.
28017
28018 2007-10-20  Bruno Haible  <bruno@clisp.org>
28019
28020         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
28021         gcc-3.4.x.
28022
28023 2007-10-20  Ben Pfaff  <blp@gnu.org>
28024
28025         * lib/math.in.h: Declare round, roundf, roundl if we are providing
28026         implementations.
28027         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
28028         * lib/round.c: New file.
28029         * lib/roundf.c: New file.
28030         * lib/roundl.c: New file.
28031         * m4/round.m4: New file.
28032         * m4/roundf.m4: New file.
28033         * m4/roundl.m4: New file.
28034         * m4/check-libm-func-m4: New file.
28035         * modules/math: Replace round, roundf, roundl related @VARS@ in
28036         math.in.h.
28037         * modules/round: New file.
28038         * modules/round-tests: New file.
28039         * modules/roundf: New file.
28040         * modules/roundf-tests: New file.
28041         * modules/roundl: New file.
28042         * modules/roundl-tests: New file.
28043         * tests/test-round1.c: New file.
28044         * tests/test-round2.c: New file.
28045         * tests/test-roundf1.c: New file.
28046         * tests/test-roundf2.c: New file.
28047         * tests/test-roundl.c: New file.
28048         * doc/functions/round.texi: Mention round module.
28049         * doc/functions/roundf.texi: Mention roundf module.
28050         * doc/functions/roundl.texi: Mention roundl module.
28051         * MODULES.html.sh: Mention new modules.
28052         Thanks to Bruno Haible for suggestions.
28053
28054 2007-10-20  Jim Meyering  <meyering@redhat.com>
28055
28056         * lib/xprintf.c: Include <config.h> unconditionally.
28057
28058         Change xprintf's license to GPL.
28059         * modules/xprintf (License): s/LGPL/GPL/, since this module
28060         depends on modules (exit and exitfail) which are GPL.
28061         Suggestion from Bruno Haible.
28062
28063         xprintf fixes.
28064         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
28065         Use a clearer diagnostic.
28066         Patch from Bruno Haible.
28067
28068 2007-10-20  Bruno Haible  <bruno@clisp.org>
28069
28070         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
28071         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
28072         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28073
28074 2007-10-20  Bruno Haible  <bruno@clisp.org>
28075
28076         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
28077         precision in the comparison result > x - 1 or similar.
28078         * tests/test-ceilf2.c (correct_result_p): Likewise.
28079         * tests/test-truncf2.c (correct_result_p): Likewise.
28080         * tests/test-trunc2.c (correct_result_p): Likewise.
28081         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28082
28083 2007-10-20  Bruno Haible  <bruno@clisp.org>
28084
28085         * modules/ceil: New file.
28086         * m4/ceil.m4: New file.
28087         * doc/functions/ceil.texi: Mention the 'ceil' module.
28088
28089 2007-10-20  Bruno Haible  <bruno@clisp.org>
28090
28091         * modules/floor: New file.
28092         * m4/floor.m4: New file.
28093         * doc/functions/floor.texi: Mention the 'floor' module.
28094
28095 2007-10-20  Bruno Haible  <bruno@clisp.org>
28096
28097         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
28098         of %a.
28099         * modules/floorf-tests (Depends-on): Likewise.
28100         * modules/truncf-tests (Depends-on): Likewise.
28101         * modules/trunc-tests (Depends-on): Likewise.
28102         Reported by Ben Pfaff.
28103
28104 2007-10-19  Jim Meyering  <meyering@redhat.com>
28105
28106         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
28107         Don't bother testing specific errno values.  Just test ferror.
28108
28109         New module: xprintf
28110         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
28111
28112 2007-10-19  Bruno Haible  <bruno@clisp.org>
28113
28114         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
28115         syntax.
28116         * modules/javaexec (Makefile.am): Likewise.
28117         * modules/relocatable-prog (Makefile.am): Likewise.
28118         Suggested by Jim Meyering.
28119
28120 2007-10-18  Bruno Haible  <bruno@clisp.org>
28121
28122         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
28123         Reported by Jim Meyering.
28124
28125 2007-10-18  Eric Blake  <ebb9@byu.net>
28126
28127         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
28128
28129 2007-10-18  Bruno Haible  <bruno@clisp.org>
28130
28131         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
28132         the format string into writable memory. Needed in Fortify conditions.
28133
28134 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
28135             Bruno Haible  <bruno@clisp.org>
28136
28137         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
28138         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
28139         * modules/trim (Depends-on): Add mbchar.
28140         (configure.ac): Add gl_FUNC_MBRTOWC.
28141         (Makefile.am): Augment lib_SOURCES.
28142
28143 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
28144
28145         Modify glob.c to use fstatat and dirfd, to simplify it.
28146         Suggested by Eric Blake.
28147         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
28148         Don't include <stdbool.h>; not used.
28149         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
28150         (link_exists_p): Simplify implementation, since we can now assume
28151         dirfd and fstatat.
28152         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
28153
28154 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28155
28156         * gnulib-tool (func_get_dependencies): Fix sed script to
28157         match only tests.
28158
28159 2007-10-17  Bruno Haible  <bruno@clisp.org>
28160
28161         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
28162         allow locale names without encoding suffix.
28163         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
28164         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28165
28166 2007-10-16  Bruno Haible  <bruno@clisp.org>
28167
28168         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
28169         * lib/getgroups.c (getgroups): Likewise.
28170         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
28171
28172 2007-10-16  Bruno Haible  <bruno@clisp.org>
28173
28174         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
28175         * modules/malloc-posix (License): Likewise.
28176         * modules/realloc-posix (License): Likewise.
28177         * modules/calloc-posix (License): Likewise.
28178         * modules/intprops (License): Change from GPL to LGPL, with
28179         Paul Eggert's approval.
28180
28181 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
28182
28183         Merge glibc changes into lib/glob.c.
28184
28185         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
28186         2007-10-15 04:59:03 UTC.  Here are the changes:
28187
28188         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
28189
28190         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
28191
28192         * lib/glob.c: Add some branch prediction throughout.
28193
28194         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
28195
28196         [BZ #5103]
28197         * lib/glob.c (glob): Recognize patterns starting \/.
28198
28199         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
28200
28201         [BZ #3996]
28202         * lib/glob.c (attribute_hidden): Define if not defined.
28203         (glob): Unescape dirname, filename or username when needed and not
28204         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
28205         is NULL.  Handle unescaped [ in pattern without closing ].
28206         Don't pass GLOB_CHECK down to recursive glob for directories.
28207         (__glob_pattern_type): New function.
28208         (__glob_pattern_p): Implement using __glob_pattern_type.
28209         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
28210         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
28211         Remove unreachable code.
28212
28213         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
28214
28215         * lib/glob.c (glob_in_dir): Add some comments and asserts to
28216         explain why there are no leaks.
28217
28218         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
28219
28220         [BZ #3253]
28221         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
28222         time, rather allocate increasingly bigger arrays of pointers, if
28223         possible with alloca, if too large with malloc.
28224
28225 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
28226
28227         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
28228         Problem reported by H.Merijn Brand in
28229         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
28230         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
28231         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
28232
28233 2007-10-15  Bruno Haible  <bruno@clisp.org>
28234
28235         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
28236         with explicit rpl_ prefix.
28237         * lib/fopen.c (fopen): Likewise.
28238         * lib/freopen.c (freopen): Likewise.
28239         * lib/iconv.c (iconv): Likewise.
28240         * lib/iconv_close.c (iconv_close): Likewise.
28241
28242 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28243
28244         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
28245
28246 2007-10-15  Bruno Haible  <bruno@clisp.org>
28247
28248         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
28249         <stddef.h> instead of <stdlib.h> since we only need NULL.
28250         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28251
28252 2007-10-15  Bruno Haible  <bruno@clisp.org>
28253
28254         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
28255         Replace paragraph talking about LIBOBJS.
28256         Reported by Colin Watson <cjwatson@debian.org>.
28257
28258 2007-10-15  Bruno Haible  <bruno@clisp.org>
28259
28260         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
28261         <stdlib.h> before using NULL.
28262
28263 2007-10-15  Simon Josefsson  <simon@josefsson.org>
28264
28265         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
28266         Reported by Albert Chin <china@thewrittenword.com>.
28267
28268 2007-10-14  Bruno Haible  <bruno@clisp.org>
28269
28270         * modules/iconv_open-utf-tests: New file.
28271         * tests/test-iconv-utf.c: New file.
28272
28273         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
28274         * modules/iconv_open-utf: New file.
28275         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
28276         (iconv, iconv_close): New declarations.
28277         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
28278         be defined.
28279         (iconv_open): Add special handling of conversion between UTF-8 and
28280         UTF-{16,32}{BE,LE}.
28281         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
28282         * lib/iconv_close.c: New file.
28283         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
28284         gl_FUNC_ICONV_OPEN.
28285         (gl_FUNC_ICONV_OPEN): Use it.
28286         (gl_FUNC_ICONV_OPEN_UTF): New macro.
28287         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
28288         and REPLACE_ICONV_UTF.
28289         * modules/iconv_open (Depends-on): Add c-strcase.
28290         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
28291         ICONV_CONST.
28292         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
28293
28294 2007-10-13  Albert Chin  <china@thewrittenword.com>
28295             Bruno Haible  <bruno@clisp.org>
28296
28297         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
28298         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
28299
28300 2007-10-13  Bruno Haible  <bruno@clisp.org>
28301
28302         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
28303         defined, use the ISO C99 inline semantics.
28304         * lib/argp.h (ARGP_EI): Likewise.
28305
28306 2007-10-13  Bruno Haible  <bruno@clisp.org>
28307
28308         Handle 'inline' change in gcc 4.3.0.
28309         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
28310         argp_fmtstream_write, argp_fmtstream_set_lmargin,
28311         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
28312         argp_fmtstream_point): Disable 'extern' declaration if the function
28313         definition is going to be provided inline.
28314         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
28315         semantics, not the ISO C99 inline semantics.
28316         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
28317         'extern' declaration if the function definition is going to be provided
28318         inline.
28319         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
28320         the GNU C inline semantics, not the ISO C99 inline semantics. With
28321         GCC 4.2, avoid a warning.
28322
28323 2007-10-13  Bruno Haible  <bruno@clisp.org>
28324
28325         * lib/freading.h (freading): Enable the use of __freading for
28326         glibc >= 2.7.
28327         * lib/freading.c (freading): Likewise.
28328
28329 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
28330
28331         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
28332         "warning: C99 inline functions are not supported; using GNU89".
28333
28334 2007-10-12  Bruno Haible  <bruno@clisp.org>
28335
28336         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
28337         of 2.
28338         * tests/test-ceilf2.c: New file.
28339         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
28340
28341         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
28342         * modules/ceilf-tests: Update.
28343
28344 2007-10-12  Bruno Haible  <bruno@clisp.org>
28345
28346         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
28347         of 2.
28348         * tests/test-floorf2.c: New file.
28349         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
28350
28351         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
28352         * modules/floorf-tests: Update.
28353
28354 2007-10-12  Bruno Haible  <bruno@clisp.org>
28355
28356         * tests/test-trunc2.c: New file.
28357         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
28358
28359         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
28360         * modules/trunc-tests: Update.
28361
28362 2007-10-12  Bruno Haible  <bruno@clisp.org>
28363
28364         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
28365         of 2.
28366         * tests/test-truncf2.c: New file.
28367         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
28368
28369         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
28370         * modules/truncf-tests: Update.
28371
28372 2007-10-11  Eric Blake  <ebb9@byu.net>
28373
28374         Don't claim strerror is broken on Interix.
28375         * doc/functions/strerror.texi (strerror): Known broken systems are
28376         now Solaris 8, and not Interix.
28377         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
28378         Interix on cross-compile.
28379         Reported by Martin Koeppe in
28380         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
28381
28382 2007-10-11  Bruno Haible  <bruno@clisp.org>
28383
28384         * modules/i-ring-tests: New file.
28385         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
28386         instead of assert.
28387
28388 2007-10-11  Bruno Haible  <bruno@clisp.org>
28389
28390         * modules/filenamecat-tests: New file.
28391         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
28392         * lib/filenamecat.c: Remove test code.
28393
28394 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28395
28396         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
28397
28398         * lib/strerror.c: Include <string.h> always, to test interface,
28399         and to remove the need for the dummy.
28400         Include intprops.h to compute width instead of doing it ourselves
28401         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
28402         (strerror): Define it to return NULL if there's no system strerror.
28403         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
28404         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
28405         ancient pre-strerror Unix systems well any more.  Saying "unknown
28406         system error" is enough.
28407         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
28408         simpler strerror.c implementation.
28409         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
28410         Simplify the tests to reflect the simpler strerror implementation.
28411         * modules/strerror (Depends-on): Add intprops.
28412
28413 2007-10-09  Eric Blake  <ebb9@byu.net>
28414
28415         Silence test-fpending.
28416         * modules/fpending-tests (Files): Add wrapper script.
28417         * tests/test-fpending.sh: New file.
28418
28419 2007-10-09  Bruno Haible  <bruno@clisp.org>
28420
28421         * MODULES.html.sh (func_module): Don't create a hyperlink for
28422         function names like 'printf_frexp'.
28423         (Misc): Add crc, memxor.
28424         (Characteristics of floating types): New section.
28425         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
28426         isnanf-nolibm, signbit, trunc, truncf, truncl.
28427         (Enhancements for ISO C 99 functions): New subsection Input/output.
28428         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
28429         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
28430         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
28431         (Compatibility checks for POSIX:2001 functions): Add clock-time.
28432         (Enhancements for POSIX:2001 functions): Add chdir-long.
28433         (File system functions): Add areadlink, chdir-safer, read-file.
28434         Remove cycle-check.
28435         (File system as inode set): New section.
28436         (Date and time): Add gethrxtime.
28437         (Multithreading): Add openmp.
28438         (Internationalization functions): Add localename.
28439         (Unicode string functions): Add unistr/u*-mbsnlen.
28440         (Support for maintaining and releasing projects): Add git-version-gen.
28441         (Lone files): Remove directories.
28442
28443 2007-10-08  Ben Pfaff  <blp@gnu.org>
28444
28445         * lib/xmalloca.h: Fix typo in comment.
28446
28447 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28448
28449         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
28450         when avoiding problems with integer overflow.  Use a portable test
28451         instead.
28452
28453 2007-10-08  Simon Josefsson  <simon@josefsson.org>
28454
28455         * modules/dummy (License): Change to LGPLv2+.
28456         * modules/float (License): Likewise
28457         * modules/realloc (License): Likewise
28458         * modules/stdlib (License): Likewise
28459
28460 2007-10-07  Bruno Haible  <bruno@clisp.org>
28461
28462         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
28463         * floor.c (TWO_MANT_DIG): Likewise.
28464         * ceil.c (TWO_MANT_DIG): Likewise.
28465         Reported by Ben Pfaff.
28466
28467 2007-10-07  Bruno Haible  <bruno@clisp.org>
28468
28469         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
28470         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
28471         * lib/frexp.c (FUNC): Likewise.
28472         * lib/printf-frexp.h (printf_frexp): Likewise.
28473         * lib/printf-frexpl.h (printf_frexpl): Likewise.
28474         * lib/printf-frexp.c (FUNC): Likewise.
28475         Suggested by Jim Meyering.
28476
28477 2007-10-07  Jim Meyering  <meyering@redhat.com>
28478
28479         Make xnanosleep's integer overflow test more robust.
28480         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
28481         so that gcc-4.3.0 doesn't optimize away this test for overflow.
28482
28483 2007-10-07  Bruno Haible  <bruno@clisp.org>
28484
28485         * NEWS: Mention the license change.
28486
28487         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
28488         abbreviations in the modules files.
28489
28490         Change copyright notice from GPLv2+ to GPLv3+.
28491         * README: Change copyright notice.
28492         * MODULES.html.sh: Likewise.
28493         * build-aux/bootstrap.conf: Likewise.
28494         * build-aux/config.libpath: Likewise.
28495         * build-aux/csharpcomp.sh.in: Likewise.
28496         * build-aux/csharpexec.sh.in: Likewise.
28497         * build-aux/install-reloc: Likewise.
28498         * build-aux/javacomp.sh.in: Likewise.
28499         * build-aux/javaexec.sh.in: Likewise.
28500         * build-aux/ldd.sh.in: Likewise.
28501         * build-aux/reloc-ldflags: Likewise.
28502         * build-aux/relocatable.sh.in: Likewise.
28503         * build-aux/x-to-1.in: Likewise.
28504         * check-module: Likewise.
28505         * config/srclistvars.sh: Likewise.
28506         * gnulib-tool: Likewise.
28507         * lib/acl-internal.h: Likewise.
28508         * lib/acl.c: Likewise.
28509         * lib/acl.h: Likewise.
28510         * lib/acl_entries.c: Likewise.
28511         * lib/areadlink-with-size.c: Likewise.
28512         * lib/areadlink.c: Likewise.
28513         * lib/areadlink.h: Likewise.
28514         * lib/argmatch.c: Likewise.
28515         * lib/argmatch.h: Likewise.
28516         * lib/argp-ba.c: Likewise.
28517         * lib/argp-eexst.c: Likewise.
28518         * lib/argp-fmtstream.c: Likewise.
28519         * lib/argp-fmtstream.h: Likewise.
28520         * lib/argp-fs-xinl.c: Likewise.
28521         * lib/argp-help.c: Likewise.
28522         * lib/argp-namefrob.h: Likewise.
28523         * lib/argp-parse.c: Likewise.
28524         * lib/argp-pin.c: Likewise.
28525         * lib/argp-pv.c: Likewise.
28526         * lib/argp-pvh.c: Likewise.
28527         * lib/argp-xinl.c: Likewise.
28528         * lib/argp.h: Likewise.
28529         * lib/at-func.c: Likewise.
28530         * lib/atanl.c: Likewise.
28531         * lib/backupfile.c: Likewise.
28532         * lib/backupfile.h: Likewise.
28533         * lib/basename.c: Likewise.
28534         * lib/binary-io.h: Likewise.
28535         * lib/byteswap.in.h: Likewise.
28536         * lib/c-stack.c: Likewise.
28537         * lib/c-stack.h: Likewise.
28538         * lib/c-strcasestr.c: Likewise.
28539         * lib/c-strcasestr.h: Likewise.
28540         * lib/c-strstr.c: Likewise.
28541         * lib/c-strstr.h: Likewise.
28542         * lib/c-strtod.c: Likewise.
28543         * lib/calloc.c: Likewise.
28544         * lib/canon-host.c: Likewise.
28545         * lib/canon-host.h: Likewise.
28546         * lib/canonicalize-lgpl.c: Likewise.
28547         * lib/canonicalize.c: Likewise.
28548         * lib/canonicalize.h: Likewise.
28549         * lib/ceil.c: Likewise.
28550         * lib/ceilf.c: Likewise.
28551         * lib/ceill.c: Likewise.
28552         * lib/chdir-long.c: Likewise.
28553         * lib/chdir-long.h: Likewise.
28554         * lib/chdir-safer.c: Likewise.
28555         * lib/chdir-safer.h: Likewise.
28556         * lib/chown.c: Likewise.
28557         * lib/classpath.c: Likewise.
28558         * lib/classpath.h: Likewise.
28559         * lib/clean-temp.c: Likewise.
28560         * lib/clean-temp.h: Likewise.
28561         * lib/cloexec.c: Likewise.
28562         * lib/close-stream.c: Likewise.
28563         * lib/closein.c: Likewise.
28564         * lib/closein.h: Likewise.
28565         * lib/closeout.c: Likewise.
28566         * lib/closeout.h: Likewise.
28567         * lib/concat-filename.c: Likewise.
28568         * lib/copy-file.c: Likewise.
28569         * lib/copy-file.h: Likewise.
28570         * lib/count-one-bits.h: Likewise.
28571         * lib/crc.c: Likewise.
28572         * lib/crc.h: Likewise.
28573         * lib/creat-safer.c: Likewise.
28574         * lib/csharpcomp.c: Likewise.
28575         * lib/csharpcomp.h: Likewise.
28576         * lib/csharpexec.c: Likewise.
28577         * lib/csharpexec.h: Likewise.
28578         * lib/cycle-check.c: Likewise.
28579         * lib/cycle-check.h: Likewise.
28580         * lib/diacrit.c: Likewise.
28581         * lib/diacrit.h: Likewise.
28582         * lib/diffseq.h: Likewise.
28583         * lib/dirchownmod.c: Likewise.
28584         * lib/dirent.in.h: Likewise.
28585         * lib/dirfd.c: Likewise.
28586         * lib/dirfd.h: Likewise.
28587         * lib/dirname.c: Likewise.
28588         * lib/dirname.h: Likewise.
28589         * lib/dummy.c: Likewise.
28590         * lib/dup-safer.c: Likewise.
28591         * lib/dup2.c: Likewise.
28592         * lib/eealloc.h: Likewise.
28593         * lib/error.c: Likewise.
28594         * lib/error.h: Likewise.
28595         * lib/euidaccess.c: Likewise.
28596         * lib/exclude.c: Likewise.
28597         * lib/exclude.h: Likewise.
28598         * lib/execute.c: Likewise.
28599         * lib/execute.h: Likewise.
28600         * lib/exitfail.c: Likewise.
28601         * lib/exitfail.h: Likewise.
28602         * lib/expl.c: Likewise.
28603         * lib/fatal-signal.c: Likewise.
28604         * lib/fatal-signal.h: Likewise.
28605         * lib/fbufmode.c: Likewise.
28606         * lib/fbufmode.h: Likewise.
28607         * lib/fchdir.c: Likewise.
28608         * lib/fchmodat.c: Likewise.
28609         * lib/fchownat.c: Likewise.
28610         * lib/fcntl--.h: Likewise.
28611         * lib/fcntl-safer.h: Likewise.
28612         * lib/fcntl.in.h: Likewise.
28613         * lib/fd-safer.c: Likewise.
28614         * lib/fflush.c: Likewise.
28615         * lib/file-has-acl.c: Likewise.
28616         * lib/file-set.c: Likewise.
28617         * lib/file-type.c: Likewise.
28618         * lib/file-type.h: Likewise.
28619         * lib/fileblocks.c: Likewise.
28620         * lib/filemode.c: Likewise.
28621         * lib/filemode.h: Likewise.
28622         * lib/filename.h: Likewise.
28623         * lib/filenamecat.c: Likewise.
28624         * lib/filenamecat.h: Likewise.
28625         * lib/findprog.c: Likewise.
28626         * lib/findprog.h: Likewise.
28627         * lib/float.in.h: Likewise.
28628         * lib/floor.c: Likewise.
28629         * lib/floorf.c: Likewise.
28630         * lib/floorl.c: Likewise.
28631         * lib/fopen-safer.c: Likewise.
28632         * lib/fopen.c: Likewise.
28633         * lib/fpending.c: Likewise.
28634         * lib/fpending.h: Likewise.
28635         * lib/fprintf.c: Likewise.
28636         * lib/fprintftime.h: Likewise.
28637         * lib/fpucw.h: Likewise.
28638         * lib/fpurge.c: Likewise.
28639         * lib/fpurge.h: Likewise.
28640         * lib/freadable.c: Likewise.
28641         * lib/freadable.h: Likewise.
28642         * lib/freadahead.c: Likewise.
28643         * lib/freadahead.h: Likewise.
28644         * lib/freading.c: Likewise.
28645         * lib/freading.h: Likewise.
28646         * lib/free.c: Likewise.
28647         * lib/freopen.c: Likewise.
28648         * lib/frexp.c: Likewise.
28649         * lib/frexpl.c: Likewise.
28650         * lib/fseek.c: Likewise.
28651         * lib/fseterr.c: Likewise.
28652         * lib/fseterr.h: Likewise.
28653         * lib/fstatat.c: Likewise.
28654         * lib/fstrcmp.c: Likewise.
28655         * lib/fstrcmp.h: Likewise.
28656         * lib/fsusage.c: Likewise.
28657         * lib/fsusage.h: Likewise.
28658         * lib/ftell.c: Likewise.
28659         * lib/ftello.c: Likewise.
28660         * lib/fts-cycle.c: Likewise.
28661         * lib/fts.c: Likewise.
28662         * lib/fts_.h: Likewise.
28663         * lib/full-read.c: Likewise.
28664         * lib/full-read.h: Likewise.
28665         * lib/full-write.c: Likewise.
28666         * lib/full-write.h: Likewise.
28667         * lib/fwritable.c: Likewise.
28668         * lib/fwritable.h: Likewise.
28669         * lib/fwriteerror.c: Likewise.
28670         * lib/fwriteerror.h: Likewise.
28671         * lib/fwriting.c: Likewise.
28672         * lib/fwriting.h: Likewise.
28673         * lib/gcd.c: Likewise.
28674         * lib/gcd.h: Likewise.
28675         * lib/getcwd.c: Likewise.
28676         * lib/getdate.h: Likewise.
28677         * lib/getdate.y: Likewise.
28678         * lib/getdomainname.c: Likewise.
28679         * lib/getdomainname.h: Likewise.
28680         * lib/getgroups.c: Likewise.
28681         * lib/gethostname.c: Likewise.
28682         * lib/gethrxtime.c: Likewise.
28683         * lib/gethrxtime.h: Likewise.
28684         * lib/getloadavg.c: Likewise.
28685         * lib/getndelim2.c: Likewise.
28686         * lib/getndelim2.h: Likewise.
28687         * lib/getnline.c: Likewise.
28688         * lib/getnline.h: Likewise.
28689         * lib/getopt.c: Likewise.
28690         * lib/getopt.in.h: Likewise.
28691         * lib/getopt1.c: Likewise.
28692         * lib/getopt_int.h: Likewise.
28693         * lib/getpagesize.h: Likewise.
28694         * lib/getsubopt.c: Likewise.
28695         * lib/gettime.c: Likewise.
28696         * lib/getugroups.c: Likewise.
28697         * lib/getugroups.h: Likewise.
28698         * lib/getusershell.c: Likewise.
28699         * lib/gl_anyavltree_list1.h: Likewise.
28700         * lib/gl_anyavltree_list2.h: Likewise.
28701         * lib/gl_anyhash_list1.h: Likewise.
28702         * lib/gl_anyhash_list2.h: Likewise.
28703         * lib/gl_anylinked_list1.h: Likewise.
28704         * lib/gl_anylinked_list2.h: Likewise.
28705         * lib/gl_anyrbtree_list1.h: Likewise.
28706         * lib/gl_anyrbtree_list2.h: Likewise.
28707         * lib/gl_anytree_list1.h: Likewise.
28708         * lib/gl_anytree_list2.h: Likewise.
28709         * lib/gl_anytree_oset.h: Likewise.
28710         * lib/gl_anytreehash_list1.h: Likewise.
28711         * lib/gl_anytreehash_list2.h: Likewise.
28712         * lib/gl_array_list.c: Likewise.
28713         * lib/gl_array_list.h: Likewise.
28714         * lib/gl_array_oset.c: Likewise.
28715         * lib/gl_array_oset.h: Likewise.
28716         * lib/gl_avltree_list.c: Likewise.
28717         * lib/gl_avltree_list.h: Likewise.
28718         * lib/gl_avltree_oset.c: Likewise.
28719         * lib/gl_avltree_oset.h: Likewise.
28720         * lib/gl_avltreehash_list.c: Likewise.
28721         * lib/gl_avltreehash_list.h: Likewise.
28722         * lib/gl_carray_list.c: Likewise.
28723         * lib/gl_carray_list.h: Likewise.
28724         * lib/gl_linked_list.c: Likewise.
28725         * lib/gl_linked_list.h: Likewise.
28726         * lib/gl_linkedhash_list.c: Likewise.
28727         * lib/gl_linkedhash_list.h: Likewise.
28728         * lib/gl_list.c: Likewise.
28729         * lib/gl_list.h: Likewise.
28730         * lib/gl_oset.c: Likewise.
28731         * lib/gl_oset.h: Likewise.
28732         * lib/gl_rbtree_list.c: Likewise.
28733         * lib/gl_rbtree_list.h: Likewise.
28734         * lib/gl_rbtree_oset.c: Likewise.
28735         * lib/gl_rbtree_oset.h: Likewise.
28736         * lib/gl_rbtreehash_list.c: Likewise.
28737         * lib/gl_rbtreehash_list.h: Likewise.
28738         * lib/gl_sublist.c: Likewise.
28739         * lib/gl_sublist.h: Likewise.
28740         * lib/group-member.c: Likewise.
28741         * lib/group-member.h: Likewise.
28742         * lib/hard-locale.c: Likewise.
28743         * lib/hard-locale.h: Likewise.
28744         * lib/hash-pjw.c: Likewise.
28745         * lib/hash-pjw.h: Likewise.
28746         * lib/hash-triple.c: Likewise.
28747         * lib/hash.c: Likewise.
28748         * lib/hash.h: Likewise.
28749         * lib/human.c: Likewise.
28750         * lib/human.h: Likewise.
28751         * lib/i-ring.c: Likewise.
28752         * lib/i-ring.h: Likewise.
28753         * lib/idcache.c: Likewise.
28754         * lib/imaxabs.c: Likewise.
28755         * lib/imaxdiv.c: Likewise.
28756         * lib/inet_pton.c: Likewise.
28757         * lib/inet_pton.h: Likewise.
28758         * lib/intprops.h: Likewise.
28759         * lib/inttostr.c: Likewise.
28760         * lib/inttostr.h: Likewise.
28761         * lib/inttypes.in.h: Likewise.
28762         * lib/isapipe.c: Likewise.
28763         * lib/isdir.c: Likewise.
28764         * lib/isnan.c: Likewise.
28765         * lib/isnan.h: Likewise.
28766         * lib/isnanf.c: Likewise.
28767         * lib/isnanf.h: Likewise.
28768         * lib/isnanl-nolibm.h: Likewise.
28769         * lib/isnanl.c: Likewise.
28770         * lib/isnanl.h: Likewise.
28771         * lib/javacomp.c: Likewise.
28772         * lib/javacomp.h: Likewise.
28773         * lib/javaexec.c: Likewise.
28774         * lib/javaexec.h: Likewise.
28775         * lib/javaversion.c: Likewise.
28776         * lib/javaversion.h: Likewise.
28777         * lib/javaversion.java: Likewise.
28778         * lib/lbrkprop.h: Likewise.
28779         * lib/lchmod.h: Likewise.
28780         * lib/lchown.c: Likewise.
28781         * lib/ldexpl.c: Likewise.
28782         * lib/linebreak.c: Likewise.
28783         * lib/linebreak.h: Likewise.
28784         * lib/linebuffer.c: Likewise.
28785         * lib/linebuffer.h: Likewise.
28786         * lib/locale.in.h: Likewise.
28787         * lib/logl.c: Likewise.
28788         * lib/long-options.c: Likewise.
28789         * lib/long-options.h: Likewise.
28790         * lib/lstat.c: Likewise.
28791         * lib/lstat.h: Likewise.
28792         * lib/math.in.h: Likewise.
28793         * lib/mbchar.c: Likewise.
28794         * lib/mbchar.h: Likewise.
28795         * lib/mbfile.h: Likewise.
28796         * lib/mbiter.h: Likewise.
28797         * lib/mbscasecmp.c: Likewise.
28798         * lib/mbscasestr.c: Likewise.
28799         * lib/mbschr.c: Likewise.
28800         * lib/mbscspn.c: Likewise.
28801         * lib/mbslen.c: Likewise.
28802         * lib/mbsncasecmp.c: Likewise.
28803         * lib/mbsnlen.c: Likewise.
28804         * lib/mbspbrk.c: Likewise.
28805         * lib/mbspcasecmp.c: Likewise.
28806         * lib/mbsrchr.c: Likewise.
28807         * lib/mbssep.c: Likewise.
28808         * lib/mbsspn.c: Likewise.
28809         * lib/mbsstr.c: Likewise.
28810         * lib/mbstok_r.c: Likewise.
28811         * lib/mbswidth.c: Likewise.
28812         * lib/mbswidth.h: Likewise.
28813         * lib/mbuiter.h: Likewise.
28814         * lib/memcasecmp.c: Likewise.
28815         * lib/memcasecmp.h: Likewise.
28816         * lib/memchr.c: Likewise.
28817         * lib/memcmp.c: Likewise.
28818         * lib/memcoll.c: Likewise.
28819         * lib/memcoll.h: Likewise.
28820         * lib/memcpy.c: Likewise.
28821         * lib/memrchr.c: Likewise.
28822         * lib/mkancesdirs.c: Likewise.
28823         * lib/mkdir-p.c: Likewise.
28824         * lib/mkdir-p.h: Likewise.
28825         * lib/mkdir.c: Likewise.
28826         * lib/mkdirat.c: Likewise.
28827         * lib/mkdtemp.c: Likewise.
28828         * lib/mkstemp-safer.c: Likewise.
28829         * lib/mkstemp.c: Likewise.
28830         * lib/modechange.c: Likewise.
28831         * lib/modechange.h: Likewise.
28832         * lib/mountlist.c: Likewise.
28833         * lib/mountlist.h: Likewise.
28834         * lib/mpsort.c: Likewise.
28835         * lib/nanosleep.c: Likewise.
28836         * lib/obstack.c: Likewise.
28837         * lib/obstack.h: Likewise.
28838         * lib/open-safer.c: Likewise.
28839         * lib/open.c: Likewise.
28840         * lib/openat-die.c: Likewise.
28841         * lib/openat-priv.h: Likewise.
28842         * lib/openat-proc.c: Likewise.
28843         * lib/openat.c: Likewise.
28844         * lib/openat.h: Likewise.
28845         * lib/pagealign_alloc.c: Likewise.
28846         * lib/pagealign_alloc.h: Likewise.
28847         * lib/physmem.c: Likewise.
28848         * lib/physmem.h: Likewise.
28849         * lib/pipe-safer.c: Likewise.
28850         * lib/pipe.c: Likewise.
28851         * lib/pipe.h: Likewise.
28852         * lib/posixtm.c: Likewise.
28853         * lib/posixtm.h: Likewise.
28854         * lib/posixver.c: Likewise.
28855         * lib/printf-frexp.c: Likewise.
28856         * lib/printf-frexp.h: Likewise.
28857         * lib/printf-frexpl.c: Likewise.
28858         * lib/printf-frexpl.h: Likewise.
28859         * lib/printf.c: Likewise.
28860         * lib/progname.c: Likewise.
28861         * lib/progname.h: Likewise.
28862         * lib/progreloc.c: Likewise.
28863         * lib/putenv.c: Likewise.
28864         * lib/quote.c: Likewise.
28865         * lib/quote.h: Likewise.
28866         * lib/quotearg.c: Likewise.
28867         * lib/quotearg.h: Likewise.
28868         * lib/raise.c: Likewise.
28869         * lib/readline.c: Likewise.
28870         * lib/readline.h: Likewise.
28871         * lib/readlink.c: Likewise.
28872         * lib/readtokens.c: Likewise.
28873         * lib/readtokens.h: Likewise.
28874         * lib/readtokens0.c: Likewise.
28875         * lib/readtokens0.h: Likewise.
28876         * lib/readutmp.c: Likewise.
28877         * lib/readutmp.h: Likewise.
28878         * lib/realloc.c: Likewise.
28879         * lib/relocwrapper.c: Likewise.
28880         * lib/rename-dest-slash.c: Likewise.
28881         * lib/rename.c: Likewise.
28882         * lib/rmdir.c: Likewise.
28883         * lib/rpmatch.c: Likewise.
28884         * lib/safe-read.c: Likewise.
28885         * lib/safe-read.h: Likewise.
28886         * lib/safe-write.c: Likewise.
28887         * lib/safe-write.h: Likewise.
28888         * lib/same-inode.h: Likewise.
28889         * lib/same.c: Likewise.
28890         * lib/same.h: Likewise.
28891         * lib/save-cwd.c: Likewise.
28892         * lib/save-cwd.h: Likewise.
28893         * lib/savedir.c: Likewise.
28894         * lib/savedir.h: Likewise.
28895         * lib/savewd.c: Likewise.
28896         * lib/savewd.h: Likewise.
28897         * lib/search.in.h: Likewise.
28898         * lib/setenv.c: Likewise.
28899         * lib/setenv.h: Likewise.
28900         * lib/settime.c: Likewise.
28901         * lib/sh-quote.c: Likewise.
28902         * lib/sh-quote.h: Likewise.
28903         * lib/sig2str.c: Likewise.
28904         * lib/sig2str.h: Likewise.
28905         * lib/signal.in.h: Likewise.
28906         * lib/signbitd.c: Likewise.
28907         * lib/signbitf.c: Likewise.
28908         * lib/signbitl.c: Likewise.
28909         * lib/sigprocmask.c: Likewise.
28910         * lib/sincosl.c: Likewise.
28911         * lib/sleep.c: Likewise.
28912         * lib/sprintf.c: Likewise.
28913         * lib/sqrtl.c: Likewise.
28914         * lib/stat-time.h: Likewise.
28915         * lib/stdio--.h: Likewise.
28916         * lib/stdio-safer.h: Likewise.
28917         * lib/stdlib--.h: Likewise.
28918         * lib/stdlib-safer.h: Likewise.
28919         * lib/stdlib.in.h: Likewise.
28920         * lib/stpcpy.c: Likewise.
28921         * lib/stpncpy.c: Likewise.
28922         * lib/strchrnul.c: Likewise.
28923         * lib/strcspn.c: Likewise.
28924         * lib/strerror.c: Likewise.
28925         * lib/strftime.c: Likewise.
28926         * lib/strftime.h: Likewise.
28927         * lib/striconveh.c: Likewise.
28928         * lib/striconveh.h: Likewise.
28929         * lib/striconveha.c: Likewise.
28930         * lib/striconveha.h: Likewise.
28931         * lib/stripslash.c: Likewise.
28932         * lib/strnlen1.c: Likewise.
28933         * lib/strnlen1.h: Likewise.
28934         * lib/strtod.c: Likewise.
28935         * lib/strtoimax.c: Likewise.
28936         * lib/strtok_r.c: Likewise.
28937         * lib/strtol.c: Likewise.
28938         * lib/strtoll.c: Likewise.
28939         * lib/strtoul.c: Likewise.
28940         * lib/strtoull.c: Likewise.
28941         * lib/sysexits.in.h: Likewise.
28942         * lib/tempname.c: Likewise.
28943         * lib/tempname.h: Likewise.
28944         * lib/timespec.h: Likewise.
28945         * lib/tls.c: Likewise.
28946         * lib/tls.h: Likewise.
28947         * lib/tmpdir.c: Likewise.
28948         * lib/tmpdir.h: Likewise.
28949         * lib/tmpfile-safer.c: Likewise.
28950         * lib/tmpfile.c: Likewise.
28951         * lib/trigl.c: Likewise.
28952         * lib/trigl.h: Likewise.
28953         * lib/trim.c: Likewise.
28954         * lib/trim.h: Likewise.
28955         * lib/trunc.c: Likewise.
28956         * lib/truncf.c: Likewise.
28957         * lib/truncl.c: Likewise.
28958         * lib/tsearch.c: Likewise.
28959         * lib/unicodeio.c: Likewise.
28960         * lib/unicodeio.h: Likewise.
28961         * lib/unistd--.h: Likewise.
28962         * lib/unistd-safer.h: Likewise.
28963         * lib/unistdio/ulc-fprintf.c: Likewise.
28964         * lib/unistdio/ulc-vfprintf.c: Likewise.
28965         * lib/unlinkdir.c: Likewise.
28966         * lib/unlinkdir.h: Likewise.
28967         * lib/unlocked-io.h: Likewise.
28968         * lib/unsetenv.c: Likewise.
28969         * lib/userspec.c: Likewise.
28970         * lib/utime.c: Likewise.
28971         * lib/utimecmp.c: Likewise.
28972         * lib/utimecmp.h: Likewise.
28973         * lib/utimens.c: Likewise.
28974         * lib/verify.h: Likewise.
28975         * lib/verror.c: Likewise.
28976         * lib/verror.h: Likewise.
28977         * lib/version-etc-fsf.c: Likewise.
28978         * lib/version-etc.c: Likewise.
28979         * lib/version-etc.h: Likewise.
28980         * lib/vfprintf.c: Likewise.
28981         * lib/vprintf.c: Likewise.
28982         * lib/vsprintf.c: Likewise.
28983         * lib/w32spawn.h: Likewise.
28984         * lib/wait-process.c: Likewise.
28985         * lib/wait-process.h: Likewise.
28986         * lib/wcwidth.c: Likewise.
28987         * lib/write-any-file.c: Likewise.
28988         * lib/xalloc-die.c: Likewise.
28989         * lib/xalloc.h: Likewise.
28990         * lib/xasprintf.c: Likewise.
28991         * lib/xgetcwd.c: Likewise.
28992         * lib/xgetcwd.h: Likewise.
28993         * lib/xgetdomainname.c: Likewise.
28994         * lib/xgetdomainname.h: Likewise.
28995         * lib/xgethostname.c: Likewise.
28996         * lib/xmalloc.c: Likewise.
28997         * lib/xmalloca.c: Likewise.
28998         * lib/xmalloca.h: Likewise.
28999         * lib/xmemcoll.c: Likewise.
29000         * lib/xnanosleep.c: Likewise.
29001         * lib/xreadlink.c: Likewise.
29002         * lib/xreadlink.h: Likewise.
29003         * lib/xsetenv.c: Likewise.
29004         * lib/xsetenv.h: Likewise.
29005         * lib/xstriconv.c: Likewise.
29006         * lib/xstriconv.h: Likewise.
29007         * lib/xstrndup.c: Likewise.
29008         * lib/xstrndup.h: Likewise.
29009         * lib/xstrtod.c: Likewise.
29010         * lib/xstrtod.h: Likewise.
29011         * lib/xstrtol-error.c: Likewise.
29012         * lib/xstrtol.c: Likewise.
29013         * lib/xstrtol.h: Likewise.
29014         * lib/xtime.h: Likewise.
29015         * lib/xvasprintf.c: Likewise.
29016         * lib/xvasprintf.h: Likewise.
29017         * lib/yesno.c: Likewise.
29018         * lib/yesno.h: Likewise.
29019         * posix-modules: Likewise.
29020         * tests/test-alloca-opt.c: Likewise.
29021         * tests/test-arcfour.c: Likewise.
29022         * tests/test-arctwo.c: Likewise.
29023         * tests/test-argmatch.c: Likewise.
29024         * tests/test-argp-2.sh: Likewise.
29025         * tests/test-argp.c: Likewise.
29026         * tests/test-arpa_inet.c: Likewise.
29027         * tests/test-array_list.c: Likewise.
29028         * tests/test-array_oset.c: Likewise.
29029         * tests/test-atexit.c: Likewise.
29030         * tests/test-avltree_list.c: Likewise.
29031         * tests/test-avltree_oset.c: Likewise.
29032         * tests/test-avltreehash_list.c: Likewise.
29033         * tests/test-base64.c: Likewise.
29034         * tests/test-binary-io.c: Likewise.
29035         * tests/test-byteswap.c: Likewise.
29036         * tests/test-c-ctype.c: Likewise.
29037         * tests/test-c-strcasecmp.c: Likewise.
29038         * tests/test-c-strcasestr.c: Likewise.
29039         * tests/test-c-strncasecmp.c: Likewise.
29040         * tests/test-c-strstr.c: Likewise.
29041         * tests/test-canonicalize-lgpl.c: Likewise.
29042         * tests/test-canonicalize.c: Likewise.
29043         * tests/test-carray_list.c: Likewise.
29044         * tests/test-ceilf.c: Likewise.
29045         * tests/test-ceill.c: Likewise.
29046         * tests/test-count-one-bits.c: Likewise.
29047         * tests/test-crc.c: Likewise.
29048         * tests/test-dirname.c: Likewise.
29049         * tests/test-fbufmode.c: Likewise.
29050         * tests/test-fcntl.c: Likewise.
29051         * tests/test-fflush.c: Likewise.
29052         * tests/test-floorf.c: Likewise.
29053         * tests/test-floorl.c: Likewise.
29054         * tests/test-fopen.c: Likewise.
29055         * tests/test-fprintf-posix.c: Likewise.
29056         * tests/test-fprintf-posix.h: Likewise.
29057         * tests/test-fpurge.c: Likewise.
29058         * tests/test-freadable.c: Likewise.
29059         * tests/test-freadahead.c: Likewise.
29060         * tests/test-freading.c: Likewise.
29061         * tests/test-freopen.c: Likewise.
29062         * tests/test-frexp.c: Likewise.
29063         * tests/test-frexpl.c: Likewise.
29064         * tests/test-fseek.c: Likewise.
29065         * tests/test-fseeko.c: Likewise.
29066         * tests/test-fseterr.c: Likewise.
29067         * tests/test-fstrcmp.c: Likewise.
29068         * tests/test-ftell.c: Likewise.
29069         * tests/test-ftello.c: Likewise.
29070         * tests/test-fwritable.c: Likewise.
29071         * tests/test-fwriting.c: Likewise.
29072         * tests/test-getaddrinfo.c: Likewise.
29073         * tests/test-getpass.c: Likewise.
29074         * tests/test-gettimeofday.c: Likewise.
29075         * tests/test-hmac-md5.c: Likewise.
29076         * tests/test-hmac-sha1.c: Likewise.
29077         * tests/test-iconv.c: Likewise.
29078         * tests/test-iconvme.c: Likewise.
29079         * tests/test-inttypes.c: Likewise.
29080         * tests/test-isnan.c: Likewise.
29081         * tests/test-isnanf.c: Likewise.
29082         * tests/test-isnanl-nolibm.c: Likewise.
29083         * tests/test-isnanl.c: Likewise.
29084         * tests/test-isnanl.h: Likewise.
29085         * tests/test-ldexpl.c: Likewise.
29086         * tests/test-linked_list.c: Likewise.
29087         * tests/test-linkedhash_list.c: Likewise.
29088         * tests/test-locale.c: Likewise.
29089         * tests/test-localename.c: Likewise.
29090         * tests/test-lock.c: Likewise.
29091         * tests/test-lseek.c: Likewise.
29092         * tests/test-malloca.c: Likewise.
29093         * tests/test-math.c: Likewise.
29094         * tests/test-mbscasecmp.c: Likewise.
29095         * tests/test-mbscasestr1.c: Likewise.
29096         * tests/test-mbscasestr2.c: Likewise.
29097         * tests/test-mbscasestr3.c: Likewise.
29098         * tests/test-mbscasestr4.c: Likewise.
29099         * tests/test-mbschr.c: Likewise.
29100         * tests/test-mbscspn.c: Likewise.
29101         * tests/test-mbsncasecmp.c: Likewise.
29102         * tests/test-mbspbrk.c: Likewise.
29103         * tests/test-mbspcasecmp.c: Likewise.
29104         * tests/test-mbsrchr.c: Likewise.
29105         * tests/test-mbsspn.c: Likewise.
29106         * tests/test-mbsstr1.c: Likewise.
29107         * tests/test-mbsstr2.c: Likewise.
29108         * tests/test-mbsstr3.c: Likewise.
29109         * tests/test-md5.c: Likewise.
29110         * tests/test-memmem.c: Likewise.
29111         * tests/test-netinet_in.c: Likewise.
29112         * tests/test-open.c: Likewise.
29113         * tests/test-printf-frexp.c: Likewise.
29114         * tests/test-printf-frexpl.c: Likewise.
29115         * tests/test-printf-posix.c: Likewise.
29116         * tests/test-printf-posix.h: Likewise.
29117         * tests/test-rbtree_list.c: Likewise.
29118         * tests/test-rbtree_oset.c: Likewise.
29119         * tests/test-rbtreehash_list.c: Likewise.
29120         * tests/test-read-file.c: Likewise.
29121         * tests/test-rijndael.c: Likewise.
29122         * tests/test-search.c: Likewise.
29123         * tests/test-signbit.c: Likewise.
29124         * tests/test-sleep.c: Likewise.
29125         * tests/test-snprintf-posix.c: Likewise.
29126         * tests/test-snprintf-posix.h: Likewise.
29127         * tests/test-snprintf.c: Likewise.
29128         * tests/test-sprintf-posix.c: Likewise.
29129         * tests/test-sprintf-posix.h: Likewise.
29130         * tests/test-stat-time.c: Likewise.
29131         * tests/test-stdbool.c: Likewise.
29132         * tests/test-stdint.c: Likewise.
29133         * tests/test-stdio.c: Likewise.
29134         * tests/test-stdlib.c: Likewise.
29135         * tests/test-stpncpy.c: Likewise.
29136         * tests/test-strcasestr.c: Likewise.
29137         * tests/test-striconv.c: Likewise.
29138         * tests/test-striconveh.c: Likewise.
29139         * tests/test-striconveha.c: Likewise.
29140         * tests/test-string.c: Likewise.
29141         * tests/test-sys_select.c: Likewise.
29142         * tests/test-sys_socket.c: Likewise.
29143         * tests/test-sys_stat.c: Likewise.
29144         * tests/test-sys_time.c: Likewise.
29145         * tests/test-sysexits.c: Likewise.
29146         * tests/test-time.c: Likewise.
29147         * tests/test-tls.c: Likewise.
29148         * tests/test-trunc.c: Likewise.
29149         * tests/test-truncf.c: Likewise.
29150         * tests/test-truncl.c: Likewise.
29151         * tests/test-unistd.c: Likewise.
29152         * tests/test-vasnprintf-posix.c: Likewise.
29153         * tests/test-vasnprintf-posix2.c: Likewise.
29154         * tests/test-vasnprintf.c: Likewise.
29155         * tests/test-vasprintf-posix.c: Likewise.
29156         * tests/test-vasprintf.c: Likewise.
29157         * tests/test-verify.c: Likewise.
29158         * tests/test-vfprintf-posix.c: Likewise.
29159         * tests/test-vprintf-posix.c: Likewise.
29160         * tests/test-vsnprintf-posix.c: Likewise.
29161         * tests/test-vsnprintf.c: Likewise.
29162         * tests/test-vsprintf-posix.c: Likewise.
29163         * tests/test-wchar.c: Likewise.
29164         * tests/test-wctype.c: Likewise.
29165         * tests/test-wcwidth.c: Likewise.
29166         * tests/test-xstrtol.c: Likewise.
29167         * tests/test-xvasprintf.c: Likewise.
29168         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29169         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29170         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29171         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29172         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29173         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29174         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29175         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29176         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29177         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29178         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29179         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29180         * tests/uniname/test-uninames.c: Likewise.
29181         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29182         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
29183         * tests/unistdio/test-u16-printf1.h: Likewise.
29184         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29185         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29186         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29187         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29188         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29189         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29190         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29191         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
29192         * tests/unistdio/test-u32-printf1.h: Likewise.
29193         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29194         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29195         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29196         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29197         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29198         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29199         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29200         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
29201         * tests/unistdio/test-u8-printf1.h: Likewise.
29202         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29203         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29204         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29205         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29206         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29207         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29208         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29209         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
29210         * tests/unistdio/test-ulc-printf1.h: Likewise.
29211         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29212         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29213         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29214         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29215         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29216         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29217         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29218         * tests/uniwidth/test-u16-width.c: Likewise.
29219         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29220         * tests/uniwidth/test-u32-width.c: Likewise.
29221         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29222         * tests/uniwidth/test-u8-width.c: Likewise.
29223         * tests/uniwidth/test-uc_width.c: Likewise.
29224         * config/srclist-update: Likewise.
29225         (fixlicense): Update to GPLv3+.
29226
29227         Change copyright notice from LGPLv2.1+ to LGPLv3+.
29228         * tests/test-tsearch.c: Change copyright notice.
29229
29230         Change copyright notice from LGPLv2.0+ to LGPLv3+.
29231         * lib/c-strcaseeq.h: Change copyright notice.
29232         * lib/streq.h: Likewise.
29233         * lib/uniconv.h: Likewise.
29234         * lib/uniconv/u-conv-from-enc.h: Likewise.
29235         * lib/uniconv/u-conv-to-enc.h: Likewise.
29236         * lib/uniconv/u-strconv-from-enc.h: Likewise.
29237         * lib/uniconv/u-strconv-to-enc.h: Likewise.
29238         * lib/uniconv/u16-conv-from-enc.c: Likewise.
29239         * lib/uniconv/u16-conv-to-enc.c: Likewise.
29240         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
29241         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
29242         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
29243         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
29244         * lib/uniconv/u32-conv-from-enc.c: Likewise.
29245         * lib/uniconv/u32-conv-to-enc.c: Likewise.
29246         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
29247         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
29248         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
29249         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
29250         * lib/uniconv/u8-conv-from-enc.c: Likewise.
29251         * lib/uniconv/u8-conv-to-enc.c: Likewise.
29252         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
29253         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
29254         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
29255         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
29256         * lib/uniname.h: Likewise.
29257         * lib/uniname/uniname.c: Likewise.
29258         * lib/unistdio.h: Likewise.
29259         * lib/unistdio/u-asnprintf.h: Likewise.
29260         * lib/unistdio/u-asprintf.h: Likewise.
29261         * lib/unistdio/u-printf-args.c: Likewise.
29262         * lib/unistdio/u-printf-args.h: Likewise.
29263         * lib/unistdio/u-printf-parse.h: Likewise.
29264         * lib/unistdio/u-snprintf.h: Likewise.
29265         * lib/unistdio/u-sprintf.h: Likewise.
29266         * lib/unistdio/u-vasprintf.h: Likewise.
29267         * lib/unistdio/u-vsnprintf.h: Likewise.
29268         * lib/unistdio/u-vsprintf.h: Likewise.
29269         * lib/unistdio/u16-asnprintf.c: Likewise.
29270         * lib/unistdio/u16-asprintf.c: Likewise.
29271         * lib/unistdio/u16-printf-parse.c: Likewise.
29272         * lib/unistdio/u16-snprintf.c: Likewise.
29273         * lib/unistdio/u16-sprintf.c: Likewise.
29274         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
29275         * lib/unistdio/u16-u16-asprintf.c: Likewise.
29276         * lib/unistdio/u16-u16-snprintf.c: Likewise.
29277         * lib/unistdio/u16-u16-sprintf.c: Likewise.
29278         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
29279         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
29280         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
29281         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
29282         * lib/unistdio/u16-vasnprintf.c: Likewise.
29283         * lib/unistdio/u16-vasprintf.c: Likewise.
29284         * lib/unistdio/u16-vsnprintf.c: Likewise.
29285         * lib/unistdio/u16-vsprintf.c: Likewise.
29286         * lib/unistdio/u32-asnprintf.c: Likewise.
29287         * lib/unistdio/u32-asprintf.c: Likewise.
29288         * lib/unistdio/u32-printf-parse.c: Likewise.
29289         * lib/unistdio/u32-snprintf.c: Likewise.
29290         * lib/unistdio/u32-sprintf.c: Likewise.
29291         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
29292         * lib/unistdio/u32-u32-asprintf.c: Likewise.
29293         * lib/unistdio/u32-u32-snprintf.c: Likewise.
29294         * lib/unistdio/u32-u32-sprintf.c: Likewise.
29295         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
29296         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
29297         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
29298         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
29299         * lib/unistdio/u32-vasnprintf.c: Likewise.
29300         * lib/unistdio/u32-vasprintf.c: Likewise.
29301         * lib/unistdio/u32-vsnprintf.c: Likewise.
29302         * lib/unistdio/u32-vsprintf.c: Likewise.
29303         * lib/unistdio/u8-asnprintf.c: Likewise.
29304         * lib/unistdio/u8-asprintf.c: Likewise.
29305         * lib/unistdio/u8-printf-parse.c: Likewise.
29306         * lib/unistdio/u8-snprintf.c: Likewise.
29307         * lib/unistdio/u8-sprintf.c: Likewise.
29308         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
29309         * lib/unistdio/u8-u8-asprintf.c: Likewise.
29310         * lib/unistdio/u8-u8-snprintf.c: Likewise.
29311         * lib/unistdio/u8-u8-sprintf.c: Likewise.
29312         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
29313         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
29314         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
29315         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
29316         * lib/unistdio/u8-vasnprintf.c: Likewise.
29317         * lib/unistdio/u8-vasprintf.c: Likewise.
29318         * lib/unistdio/u8-vsnprintf.c: Likewise.
29319         * lib/unistdio/u8-vsprintf.c: Likewise.
29320         * lib/unistdio/ulc-asnprintf.c: Likewise.
29321         * lib/unistdio/ulc-asprintf.c: Likewise.
29322         * lib/unistdio/ulc-printf-parse.c: Likewise.
29323         * lib/unistdio/ulc-snprintf.c: Likewise.
29324         * lib/unistdio/ulc-sprintf.c: Likewise.
29325         * lib/unistdio/ulc-vasnprintf.c: Likewise.
29326         * lib/unistdio/ulc-vasprintf.c: Likewise.
29327         * lib/unistdio/ulc-vsnprintf.c: Likewise.
29328         * lib/unistdio/ulc-vsprintf.c: Likewise.
29329         * lib/unistr.h: Likewise.
29330         * lib/unistr/u-cpy-alloc.h: Likewise.
29331         * lib/unistr/u-cpy.h: Likewise.
29332         * lib/unistr/u-endswith.h: Likewise.
29333         * lib/unistr/u-move.h: Likewise.
29334         * lib/unistr/u-set.h: Likewise.
29335         * lib/unistr/u-startswith.h: Likewise.
29336         * lib/unistr/u-stpcpy.h: Likewise.
29337         * lib/unistr/u-stpncpy.h: Likewise.
29338         * lib/unistr/u-strcat.h: Likewise.
29339         * lib/unistr/u-strcpy.h: Likewise.
29340         * lib/unistr/u-strcspn.h: Likewise.
29341         * lib/unistr/u-strdup.h: Likewise.
29342         * lib/unistr/u-strlen.h: Likewise.
29343         * lib/unistr/u-strncat.h: Likewise.
29344         * lib/unistr/u-strncpy.h: Likewise.
29345         * lib/unistr/u-strnlen.h: Likewise.
29346         * lib/unistr/u-strpbrk.h: Likewise.
29347         * lib/unistr/u-strspn.h: Likewise.
29348         * lib/unistr/u-strstr.h: Likewise.
29349         * lib/unistr/u-strtok.h: Likewise.
29350         * lib/unistr/u16-check.c: Likewise.
29351         * lib/unistr/u16-chr.c: Likewise.
29352         * lib/unistr/u16-cmp.c: Likewise.
29353         * lib/unistr/u16-cpy-alloc.c: Likewise.
29354         * lib/unistr/u16-cpy.c: Likewise.
29355         * lib/unistr/u16-endswith.c: Likewise.
29356         * lib/unistr/u16-mblen.c: Likewise.
29357         * lib/unistr/u16-mbsnlen.c: Likewise.
29358         * lib/unistr/u16-mbtouc-aux.c: Likewise.
29359         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
29360         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
29361         * lib/unistr/u16-mbtouc.c: Likewise.
29362         * lib/unistr/u16-mbtoucr.c: Likewise.
29363         * lib/unistr/u16-move.c: Likewise.
29364         * lib/unistr/u16-next.c: Likewise.
29365         * lib/unistr/u16-prev.c: Likewise.
29366         * lib/unistr/u16-set.c: Likewise.
29367         * lib/unistr/u16-startswith.c: Likewise.
29368         * lib/unistr/u16-stpcpy.c: Likewise.
29369         * lib/unistr/u16-stpncpy.c: Likewise.
29370         * lib/unistr/u16-strcat.c: Likewise.
29371         * lib/unistr/u16-strchr.c: Likewise.
29372         * lib/unistr/u16-strcmp.c: Likewise.
29373         * lib/unistr/u16-strcpy.c: Likewise.
29374         * lib/unistr/u16-strcspn.c: Likewise.
29375         * lib/unistr/u16-strdup.c: Likewise.
29376         * lib/unistr/u16-strlen.c: Likewise.
29377         * lib/unistr/u16-strmblen.c: Likewise.
29378         * lib/unistr/u16-strmbtouc.c: Likewise.
29379         * lib/unistr/u16-strncat.c: Likewise.
29380         * lib/unistr/u16-strncmp.c: Likewise.
29381         * lib/unistr/u16-strncpy.c: Likewise.
29382         * lib/unistr/u16-strnlen.c: Likewise.
29383         * lib/unistr/u16-strpbrk.c: Likewise.
29384         * lib/unistr/u16-strrchr.c: Likewise.
29385         * lib/unistr/u16-strspn.c: Likewise.
29386         * lib/unistr/u16-strstr.c: Likewise.
29387         * lib/unistr/u16-strtok.c: Likewise.
29388         * lib/unistr/u16-to-u32.c: Likewise.
29389         * lib/unistr/u16-to-u8.c: Likewise.
29390         * lib/unistr/u16-uctomb-aux.c: Likewise.
29391         * lib/unistr/u16-uctomb.c: Likewise.
29392         * lib/unistr/u32-check.c: Likewise.
29393         * lib/unistr/u32-chr.c: Likewise.
29394         * lib/unistr/u32-cmp.c: Likewise.
29395         * lib/unistr/u32-cpy-alloc.c: Likewise.
29396         * lib/unistr/u32-cpy.c: Likewise.
29397         * lib/unistr/u32-endswith.c: Likewise.
29398         * lib/unistr/u32-mblen.c: Likewise.
29399         * lib/unistr/u32-mbsnlen.c: Likewise.
29400         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
29401         * lib/unistr/u32-mbtouc.c: Likewise.
29402         * lib/unistr/u32-mbtoucr.c: Likewise.
29403         * lib/unistr/u32-move.c: Likewise.
29404         * lib/unistr/u32-next.c: Likewise.
29405         * lib/unistr/u32-prev.c: Likewise.
29406         * lib/unistr/u32-set.c: Likewise.
29407         * lib/unistr/u32-startswith.c: Likewise.
29408         * lib/unistr/u32-stpcpy.c: Likewise.
29409         * lib/unistr/u32-stpncpy.c: Likewise.
29410         * lib/unistr/u32-strcat.c: Likewise.
29411         * lib/unistr/u32-strchr.c: Likewise.
29412         * lib/unistr/u32-strcmp.c: Likewise.
29413         * lib/unistr/u32-strcpy.c: Likewise.
29414         * lib/unistr/u32-strcspn.c: Likewise.
29415         * lib/unistr/u32-strdup.c: Likewise.
29416         * lib/unistr/u32-strlen.c: Likewise.
29417         * lib/unistr/u32-strmblen.c: Likewise.
29418         * lib/unistr/u32-strmbtouc.c: Likewise.
29419         * lib/unistr/u32-strncat.c: Likewise.
29420         * lib/unistr/u32-strncmp.c: Likewise.
29421         * lib/unistr/u32-strncpy.c: Likewise.
29422         * lib/unistr/u32-strnlen.c: Likewise.
29423         * lib/unistr/u32-strpbrk.c: Likewise.
29424         * lib/unistr/u32-strrchr.c: Likewise.
29425         * lib/unistr/u32-strspn.c: Likewise.
29426         * lib/unistr/u32-strstr.c: Likewise.
29427         * lib/unistr/u32-strtok.c: Likewise.
29428         * lib/unistr/u32-to-u16.c: Likewise.
29429         * lib/unistr/u32-to-u8.c: Likewise.
29430         * lib/unistr/u32-uctomb.c: Likewise.
29431         * lib/unistr/u8-check.c: Likewise.
29432         * lib/unistr/u8-chr.c: Likewise.
29433         * lib/unistr/u8-cmp.c: Likewise.
29434         * lib/unistr/u8-cpy-alloc.c: Likewise.
29435         * lib/unistr/u8-cpy.c: Likewise.
29436         * lib/unistr/u8-endswith.c: Likewise.
29437         * lib/unistr/u8-mblen.c: Likewise.
29438         * lib/unistr/u8-mbsnlen.c: Likewise.
29439         * lib/unistr/u8-mbtouc-aux.c: Likewise.
29440         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29441         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29442         * lib/unistr/u8-mbtouc.c: Likewise.
29443         * lib/unistr/u8-mbtoucr.c: Likewise.
29444         * lib/unistr/u8-move.c: Likewise.
29445         * lib/unistr/u8-next.c: Likewise.
29446         * lib/unistr/u8-prev.c: Likewise.
29447         * lib/unistr/u8-set.c: Likewise.
29448         * lib/unistr/u8-startswith.c: Likewise.
29449         * lib/unistr/u8-stpcpy.c: Likewise.
29450         * lib/unistr/u8-stpncpy.c: Likewise.
29451         * lib/unistr/u8-strcat.c: Likewise.
29452         * lib/unistr/u8-strchr.c: Likewise.
29453         * lib/unistr/u8-strcmp.c: Likewise.
29454         * lib/unistr/u8-strcpy.c: Likewise.
29455         * lib/unistr/u8-strcspn.c: Likewise.
29456         * lib/unistr/u8-strdup.c: Likewise.
29457         * lib/unistr/u8-strlen.c: Likewise.
29458         * lib/unistr/u8-strmblen.c: Likewise.
29459         * lib/unistr/u8-strmbtouc.c: Likewise.
29460         * lib/unistr/u8-strncat.c: Likewise.
29461         * lib/unistr/u8-strncmp.c: Likewise.
29462         * lib/unistr/u8-strncpy.c: Likewise.
29463         * lib/unistr/u8-strnlen.c: Likewise.
29464         * lib/unistr/u8-strpbrk.c: Likewise.
29465         * lib/unistr/u8-strrchr.c: Likewise.
29466         * lib/unistr/u8-strspn.c: Likewise.
29467         * lib/unistr/u8-strstr.c: Likewise.
29468         * lib/unistr/u8-strtok.c: Likewise.
29469         * lib/unistr/u8-to-u16.c: Likewise.
29470         * lib/unistr/u8-to-u32.c: Likewise.
29471         * lib/unistr/u8-uctomb-aux.c: Likewise.
29472         * lib/unistr/u8-uctomb.c: Likewise.
29473         * lib/unitypes.h: Likewise.
29474         * lib/uniwidth.h: Likewise.
29475         * lib/uniwidth/cjk.h: Likewise.
29476         * lib/uniwidth/u16-strwidth.c: Likewise.
29477         * lib/uniwidth/u16-width.c: Likewise.
29478         * lib/uniwidth/u32-strwidth.c: Likewise.
29479         * lib/uniwidth/u32-width.c: Likewise.
29480         * lib/uniwidth/u8-strwidth.c: Likewise.
29481         * lib/uniwidth/u8-width.c: Likewise.
29482         * lib/uniwidth/width.c: Likewise.
29483
29484 2007-10-07  Bruno Haible  <bruno@clisp.org>
29485
29486         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
29487         The file is still under LGPL (see modules/inttypes).
29488
29489 2007-10-06  Bruno Haible  <bruno@clisp.org>
29490
29491         * modules/trunc (Dependencies): Add 'extensions'.
29492         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
29493         Reported by Ben Pfaff <blp@gnu.org>.
29494
29495 2007-10-06  Bruno Haible  <bruno@clisp.org>
29496
29497         * modules/freopen-tests: New file.
29498         * tests/test-freopen.c: New file.
29499
29500         * modules/fopen-tests: New file.
29501         * tests/test-fopen.c: New file.
29502
29503         * modules/fopen: New file.
29504         * lib/fopen.c: New file.
29505         * m4/fopen.m4: New file.
29506         * modules/freopen: New file.
29507         * lib/freopen.c: New file.
29508         * m4/freopen.m4: New file.
29509         * lib/stdio.in.h (fopen, freopen): New declarations.
29510         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
29511         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29512         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
29513         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29514         * doc/functions/fopen.texi: Mention the 'fopen' module.
29515         * doc/functions/freopen.texi: Mention the 'freopen' module.
29516
29517 2007-10-06  Bruno Haible  <bruno@clisp.org>
29518
29519         * modules/open-tests: New file.
29520         * tests/test-open.c: New file.
29521
29522         * modules/open: New file.
29523         * lib/open.c: New file.
29524         * m4/open.m4: New file.
29525         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
29526         lib/open.c does.
29527         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
29528         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
29529         macros.
29530         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
29531         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
29532         REPLACE_OPEN.
29533         * doc/functions/open.texi: Mention the 'open' module.
29534
29535 2007-10-04  Bruno Haible  <bruno@clisp.org>
29536
29537         * modules/ceill-tests: New file.
29538         * tests/test-ceill.c: New file.
29539
29540         * modules/ceill: New file.
29541         * lib/ceill.c: Replace entire file.
29542         * m4/ceill.m4: New file.
29543         * lib/math.in.h (ceill): Replace declaration.
29544         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
29545         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
29546         * doc/functions/ceill.texi: Mention the 'ceill' module.
29547         * modules/mathl (Files): Remove lib/ceill.c.
29548         (Depends-on): Add ceill.
29549
29550 2007-10-04  Bruno Haible  <bruno@clisp.org>
29551
29552         * modules/ceilf-tests: New file.
29553         * tests/test-ceilf.c: New file.
29554
29555         * modules/ceilf: New file.
29556         * lib/ceil.c: New file.
29557         * lib/ceilf.c: New file.
29558         * m4/ceilf.m4: New file.
29559         * lib/math.in.h (ceilf): New declaration.
29560         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
29561         HAVE_DECL_CEILF.
29562         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
29563         HAVE_DECL_CEILF.
29564         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
29565
29566 2007-10-04  Bruno Haible  <bruno@clisp.org>
29567
29568         * modules/floorl-tests: New file.
29569         * tests/test-floorl.c: New file.
29570
29571         * modules/floorl: New file.
29572         * lib/floorl.c: Replace entire file.
29573         * m4/floorl.m4: New file.
29574         * lib/math.in.h (floorl): Replace declaration.
29575         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
29576         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
29577         * doc/functions/floorl.texi: Mention the 'floorl' module.
29578         * modules/mathl (Files): Remove lib/floorl.c.
29579         (Depends-on): Add floorl.
29580
29581 2007-10-04  Bruno Haible  <bruno@clisp.org>
29582
29583         * modules/floorf-tests: New file.
29584         * tests/test-floorf.c: New file.
29585
29586         * modules/floorf: New file.
29587         * lib/floor.c: New file.
29588         * lib/floorf.c: New file.
29589         * m4/floorf.m4: New file.
29590         * lib/math.in.h (floorf): New declaration.
29591         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
29592         HAVE_DECL_FLOORF.
29593         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
29594         HAVE_DECL_FLOORF.
29595         * doc/functions/floorf.texi: Mention the 'floorf' module.
29596
29597 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
29598             Bruno Haible  <bruno@clisp.org>
29599
29600         Advertise for the Git server instead of the CVS server.
29601         * doc/gnulib-intro.texi (Steady Development): Mention the Git
29602         repository instead of the CVS one.
29603         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
29604         about all VCS systems generically.
29605         * doc/gnulib.texi (Introduction): Capitalize `Git'.
29606
29607 2007-10-04  Bruno Haible  <bruno@clisp.org>
29608
29609         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
29610         means.
29611         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
29612
29613 2007-10-04  Bruno Haible  <bruno@clisp.org>
29614
29615         * modules/truncl-tests: New file.
29616         * tests/test-truncl.c: New file.
29617
29618         * modules/truncl: New file.
29619         * lib/truncl.c: New file.
29620         * m4/truncl.m4: New file.
29621         * lib/math.in.h (truncl): New declaration.
29622         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
29623         HAVE_DECL_TRUNCL.
29624         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
29625         HAVE_DECL_TRUNCL.
29626         * doc/functions/truncl.texi: Mention the 'truncl' module.
29627
29628 2007-10-04  Bruno Haible  <bruno@clisp.org>
29629
29630         * modules/truncf-tests: New file.
29631         * tests/test-truncf.c: New file.
29632
29633         * modules/truncf: New file.
29634         * lib/trunc.c: Make paramerizable through USE_* macros.
29635         * lib/truncf.c: New file.
29636         * m4/truncf.m4: New file.
29637         * lib/math.in.h (truncf): New declaration.
29638         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
29639         HAVE_DECL_TRUNCF.
29640         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
29641         HAVE_DECL_TRUNCF.
29642         * doc/functions/truncf.texi: Mention the 'truncf' module.
29643
29644 2007-10-03  Bruno Haible  <bruno@clisp.org>
29645
29646         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
29647         augmentation also for tests modules.
29648         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
29649         * modules/atexit-tests (Makefile.am): Likewise.
29650         * modules/binary-io-tests (Makefile.am): Likewise.
29651         * modules/c-strcase-tests (Makefile.am): Likewise.
29652         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
29653         * modules/canonicalize-tests (Makefile.am): Likewise.
29654         * modules/closein-tests (Makefile.am): Likewise.
29655         * modules/fprintf-posix-tests (Makefile.am): Likewise.
29656         * modules/freadahead-tests (Makefile.am): Likewise.
29657         * modules/fseek-tests (Makefile.am): Likewise.
29658         * modules/fseeko-tests (Makefile.am): Likewise.
29659         * modules/ftell-tests (Makefile.am): Likewise.
29660         * modules/ftello-tests (Makefile.am): Likewise.
29661         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
29662         * modules/isnanl-tests (Makefile.am): Likewise.
29663         * modules/lseek-tests (Makefile.am): Likewise.
29664         * modules/mbscasecmp-tests (Makefile.am): Likewise.
29665         * modules/mbscasestr-tests (Makefile.am): Likewise.
29666         * modules/mbschr-tests (Makefile.am): Likewise.
29667         * modules/mbscspn-tests (Makefile.am): Likewise.
29668         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
29669         * modules/mbspbrk-tests (Makefile.am): Likewise.
29670         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
29671         * modules/mbsrchr-tests (Makefile.am): Likewise.
29672         * modules/mbsspn-tests (Makefile.am): Likewise.
29673         * modules/mbsstr-tests (Makefile.am): Likewise.
29674         * modules/printf-posix-tests (Makefile.am): Likewise.
29675         * modules/snprintf-posix-tests (Makefile.am): Likewise.
29676         * modules/sprintf-posix-tests (Makefile.am): Likewise.
29677         * modules/tsearch-tests (Makefile.am): Likewise.
29678         * modules/uniname/uniname-tests (Makefile.am): Likewise.
29679         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
29680         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
29681         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
29682         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
29683         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
29684         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
29685         * modules/vprintf-posix-tests (Makefile.am): Likewise.
29686         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
29687         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
29688         * modules/xstrtoimax-tests (Makefile.am): Likewise.
29689         * modules/xstrtol-tests (Makefile.am): Likewise.
29690         * modules/xstrtoumax-tests (Makefile.am): Likewise.
29691         * modules/yesno-tests (Makefile.am): Likewise.
29692
29693 2007-10-03  Bruno Haible  <bruno@clisp.org>
29694
29695         * modules/trunc-tests: New file.
29696         * tests/test-trunc.c: New file.
29697
29698         * modules/trunc: New file.
29699         * lib/trunc.c: New file.
29700         * m4/trunc.m4: New file.
29701         * lib/math.in.h (trunc): New declaration.
29702         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
29703         HAVE_DECL_TRUNC.
29704         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
29705         HAVE_DECL_TRUNC.
29706         * doc/functions/trunc.texi: Mention the 'trunc' module.
29707
29708 2007-10-03  Bruno Haible  <bruno@clisp.org>
29709
29710         * tests/test-fpending.c: New file, mostly copied
29711         from coreutils/lib/t-fpending.c.
29712         * modules/fpending-tests: New file.
29713
29714 2007-10-03  Bruno Haible  <bruno@clisp.org>
29715
29716         Port the stdio extensions to QNX (untested).
29717         * lib/fseterr.c (fseterr): Add support for QNX.
29718         * lib/fbufmode.c (fbufmode): Likewise.
29719         * lib/freadable.c (freadable): Likewise.
29720         * lib/fwritable.c (fwritable): Likewise.
29721         * lib/freading.c (freading): Likewise.
29722         * lib/fwriting.c (fwriting): Likewise.
29723         * lib/freadahead.c (freadahed): Likewise.
29724         * lib/fpurge.c (fpurge): Likewise.
29725         * lib/fseeko.c (rpl_fseeko): Likewise.
29726
29727 2007-10-03  Bruno Haible  <bruno@clisp.org>
29728             Jim Meyering  <jim@meyering.net>
29729             Eric Blake  <ebb9@byu.net>
29730
29731         * doc/relocatable.texi: Use @command instead of @program.
29732
29733 2007-10-02  Jim Meyering  <jim@meyering.net>
29734
29735         Perform one more "_.h" -> ".in.h" substitution.
29736         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
29737         instead of unistd_.h here, too.
29738
29739 2007-10-01  Bruno Haible  <bruno@clisp.org>
29740
29741         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
29742         Needed for the alloca-opt module.
29743
29744 2007-09-30  Bruno Haible  <bruno@clisp.org>
29745
29746         * lib/alloca.in.h: Renamed from lib/alloca_.h.
29747         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
29748         alloca_.h.
29749         * lib/argz.in.h: Renamed from lib/argz_.h.
29750         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
29751         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
29752         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
29753         byteswap_.h.
29754         * lib/dirent.in.h: Renamed from lib/dirent_.h.
29755         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
29756         dirent_.h.
29757         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
29758         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
29759         fcntl_.h.
29760         * lib/float.in.h: Renamed from lib/float_.h.
29761         * modules/float (Files, Makefile.am): Use float.in.h instead of
29762         float_.h.
29763         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
29764         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
29765         fnmatch_.h.
29766         * lib/getopt.in.h: Renamed from lib/getopt_.h.
29767         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
29768         getopt_.h.
29769         * lib/glob.in.h: Renamed from lib/glob_.h.
29770         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
29771         * lib/iconv.in.h: Renamed from lib/iconv_.h.
29772         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
29773         iconv_.h.
29774         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
29775         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
29776         inttypes_.h.
29777         * lib/locale.in.h: Renamed from lib/locale_.h.
29778         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
29779         locale_.h.
29780         * lib/math.in.h: Renamed from lib/math_.h.
29781         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
29782         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
29783         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
29784         of netinet_in_.h. Add dependency.
29785         * lib/poll.in.h: Renamed from lib/poll_.h.
29786         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
29787         * lib/search.in.h: Renamed from lib/search_.h.
29788         * modules/search (Files, Makefile.am): Use search.in.h instead of
29789         search_.h.
29790         * lib/signal.in.h: Renamed from lib/signal_.h.
29791         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
29792         _signal.h.
29793         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
29794         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
29795         stdbool_.h.
29796         * lib/stdint.in.h: Renamed from lib/stdint_.h.
29797         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
29798         stdint_.h.
29799         * lib/stdio.in.h: Renamed from lib/stdio_.h.
29800         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
29801         stdio_.h.
29802         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
29803         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
29804         stdlib_.h.
29805         * lib/string.in.h: Renamed from lib/string_.h.
29806         * modules/string (Files, Makefile.am): Use string.in.h instead of
29807         string_.h.
29808         * doc/gnulib-tool.texi (Initial import): Update.
29809         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
29810         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
29811         of sys_select_.h. Add dependency.
29812         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
29813         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
29814         of sys_socket_.h.
29815         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
29816         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
29817         sys_stat_.h.
29818         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
29819         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
29820         sys_time_.h.
29821         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
29822         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
29823         sysexits_.h.
29824         * lib/time.in.h: Renamed from lib/time_.h.
29825         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
29826         * lib/unistd.in.h: Renamed from lib/unistd_.h.
29827         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
29828         unistd_.h.
29829         * lib/wchar.in.h: Renamed from lib/wchar_.h.
29830         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
29831         wchar_.h.
29832         * lib/wctype.in.h: Renamed from lib/wctype_.h.
29833         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
29834         wctype_.h.
29835         * build-aux/bootstrap (slurp): Update.
29836         * lib/.cppi-disable: Update.
29837
29838 2007-09-30  Bruno Haible  <bruno@clisp.org>
29839
29840         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
29841         Needed on BeOS.
29842
29843 2007-09-30  Bruno Haible  <bruno@clisp.org>
29844
29845         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
29846
29847 2007-09-29  Bruno Haible  <bruno@clisp.org>
29848
29849         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
29850
29851 2007-09-29  Bruno Haible  <bruno@clisp.org>
29852
29853         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
29854         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
29855         * build-aux/install-reloc: Compile also areadlink.c.
29856         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
29857
29858 2007-09-29  Bruno Haible  <bruno@clisp.org>
29859
29860         * gnulib-tool (func_emit_initmacro_done): Indentation.
29861
29862 2007-09-29  Bruno Haible  <bruno@clisp.org>
29863
29864         * README: Add CVS checkout update instructions.
29865         Info from Bob Proulx <bob@proulx.com>.
29866
29867 2007-09-28  Eric Blake  <ebb9@byu.net>
29868
29869         Provide move-if-change.
29870         * build-aux/move-if-change: New file, based on best practice
29871         rather than any canonical upstream location.
29872
29873 2007-09-28  Jim Meyering  <jim@meyering.net>
29874
29875         Fix canonicalize loop-detection corner case.
29876         Do not attempt to stat the symlink values stored via seen_triple.
29877         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
29878         on linux-2.6.18, (but not 2.6.22).
29879         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
29880         triple_compare.  The former compares dev,ino,filename, while the latter
29881         would actually stat dirname(filename) when dev and ino were equal.
29882         * lib/hash-triple.c: Install <string.h>.
29883         (STREQ): Define.
29884         (triple_compare_ino_str): New function.
29885         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
29886
29887 2007-09-28  Eric Blake  <ebb9@byu.net>
29888
29889         Enforce that AC_REPLACE_FUNCS files exist.
29890         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
29891         override check for typos.
29892
29893         Fix test-closein on Solaris 10.
29894         * tests/test-closein.c (main): Don't assume stdin can be inherited
29895         closed on all systems.
29896         * tests/test-closein.sh: Likewise.
29897         Reported by Piotr Tarnowski.
29898
29899 2007-09-28  Jim Meyering  <jim@meyering.net>
29900
29901         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
29902
29903 2007-09-27  Jim Meyering  <jim@meyering.net>
29904
29905         canonicalize: Avoid a false-positive cycle failure.
29906         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
29907         Sort.  Remove cycle-check.
29908         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
29909         not cycle-check.h.
29910         (seen_triple): New function.
29911         (canonicalize_filename_mode): Use it instead of cycle-check.
29912         * tests/test-canonicalize.c: Add a test for this bug.
29913         * tests/test-canonicalize.sh: Set up and run the test.
29914
29915         New module, file-set, from coreutils.
29916         * modules/file-set: Define it.
29917         * lib/file-set.c, lib/file-set.h: Implement.
29918
29919         New module, hash-triple, from coreutils.
29920         * modules/hash-triple: Define it.
29921         * lib/hash-triple.c, lib/hash-triple.h: Implement.
29922
29923 2007-09-25  Eric Blake  <ebb9@byu.net>
29924
29925         Fix strerror on Interix.
29926         * lib/string_.h (strerror): Declare replacement.
29927         * doc/functions/strerror.texi (strerror): Document the Interix
29928         shortcoming.
29929         * modules/string (Makefile.am): Support new hooks.
29930         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
29931         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
29932         gl_FUNC_STRERROR_SEPARATE.
29933         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
29934         * lib/strerror.c (rpl_strerror): Provide replacement.
29935         * modules/strerror (Depends-on): Add string.
29936         (configure.ac): Detect use of module.
29937         * tests/test-strerror.c: New file.
29938         * modules/strerror-tests: New test module.
29939         * modules/argp (Depends-on): Add strerror.
29940         * modules/error (Depends-on): Likewise.
29941         Reported by Martin Koeppe.
29942
29943 2007-09-24  Bruno Haible  <bruno@clisp.org>
29944
29945         * README: Update git instructions.
29946
29947 2007-09-24  Eric Blake  <ebb9@byu.net>
29948
29949         Revert fpending breakage from 2007-09-08.
29950         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
29951         __fpending.c.
29952
29953 2007-09-24  Jim Meyering  <jim@meyering.net>
29954
29955         filenamecat.c: Add a test.
29956         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
29957         showing how the function works when DIR is the empty string.
29958
29959 2007-09-21  Simon Josefsson  <simon@josefsson.org>
29960
29961         * tests/test-canonicalize.sh: Turn on executable bit.
29962
29963 2007-09-19  Eric Blake  <ebb9@byu.net>
29964
29965         * README: Update CVS instructions.
29966
29967 2007-09-18  Bruno Haible  <bruno@clisp.org>
29968
29969         * modules/areadlink: New file.
29970         * lib/areadlink.h (areadlink): New declaration.
29971         * lib/areadlink.c: New file, based on lib/xreadlink.c.
29972
29973 2007-09-17  Jim Meyering  <jim@meyering.net>
29974
29975         * lib/savewd.c (ESTALE) [!defined]: Define.
29976         Reported to be required on Interix by Martin Koeppe.
29977
29978 2007-09-17  Bruno Haible  <bruno@clisp.org>
29979
29980         * gnulib-tool (func_version): Use $version.
29981
29982 2007-09-16  Bruno Haible  <bruno@clisp.org>
29983
29984         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
29985         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
29986         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
29987         Reported by Greg Schafer <gschafer@zip.com.au>.
29988
29989 2007-09-15  Bruno Haible  <bruno@clisp.org>
29990
29991         * gnulib-tool (sed): Try a little harder to make bash understand the
29992         alias.
29993         Reported by Bruce Korb <bruce.korb@gmail.com>.
29994
29995 2007-09-13  Eric Blake  <ebb9@byu.net>
29996
29997         * ChangeLog: Remove conflict markers.
29998
29999 2007-09-13  Simon Josefsson  <simon@josefsson.org>
30000
30001         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
30002         Reported by Bruno Haible <bruno@clisp.org>.
30003
30004 2007-09-12  Bruno Haible  <bruno@clisp.org>
30005
30006         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
30007         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
30008         is not defined.
30009
30010 2007-09-12  Eric Blake  <ebb9@byu.net>
30011
30012         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
30013         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
30014         Autoconf definition.
30015         * modules/euidaccess (Depends-on): Add extensions, for
30016         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
30017         * modules/fnmatch (Depends-on): Likewise.
30018         * modules/getaddrinfo (Depends-on): Likewise.
30019         * modules/getdelim (Depends-on): Likewise.
30020         * modules/getline (Depends-on): Likewise.
30021         * modules/getsubopt (Depends-on): Likewise.
30022         * modules/gettext (Depends-on): Likewise.
30023         * modules/group-member (Depends-on): Likewise.
30024         * modules/mbchar (Depends-on): Likewise.
30025         * modules/memmem (Depends-on): Likewise.
30026         * modules/mempcpy (Depends-on): Likewise.
30027         * modules/memrchr (Depends-on): Likewise.
30028         * modules/pagealign_alloc (Depends-on): Likewise.
30029         * modules/readutmp (Depends-on): Likewise.
30030         * modules/stpcpy (Depends-on): Likewise.
30031         * modules/stpncpy (Depends-on): Likewise.
30032         * modules/strchrnul (Depends-on): Likewise.
30033         * modules/strndup (Depends-on): Likewise.
30034         * modules/strsep (Depends-on): Likewise.
30035         * modules/strverscmp (Depends-on): Likewise.
30036         * modules/vasprintf (Depends-on): Likewise.
30037         * modules/wcwidth (Depends-on): Likewise.
30038         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
30039         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
30040         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
30041         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
30042         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
30043         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30044         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
30045         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
30046         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
30047         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
30048         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30049         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
30050         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
30051         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
30052         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
30053         * m4/readutmp.m4 (gl_READUTMP): Likewise.
30054         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
30055         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
30056         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30057         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
30058         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
30059         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
30060         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
30061         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
30062         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
30063         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30064         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
30065         so that lock.m4 can be used in gettext without extensions module.
30066
30067 2007-09-11  Bruno Haible  <bruno@clisp.org>
30068
30069         * m4/isc-posix.m4: Remove file.
30070         Suggested by Eric Blake.
30071
30072 2007-09-11  Eric Blake  <ebb9@byu.net>
30073
30074         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
30075
30076 2007-09-10  Bruno Haible  <bruno@clisp.org>
30077
30078         * posix-modules: Fix typo in error message.
30079         Reported by Matt <mkraai@beckman.com>.
30080
30081 2007-09-09  Bruno Haible  <bruno@clisp.org>
30082
30083         * doc/functions/getdelim.texi: Update list of platforms lacking the
30084         function.
30085         * doc/functions/getline.texi: Likewise.
30086
30087 2007-09-09  Jim Meyering  <jim@meyering.net>
30088
30089         * lib/hash.c (hash_initialize): Detect calloc failure.
30090         Reported by Bruno Haible.
30091
30092 2007-09-09  Bruno Haible  <bruno@clisp.org>
30093
30094         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
30095         malloc or realloc fails.
30096
30097 2007-09-09  Bruno Haible  <bruno@clisp.org>
30098
30099         * modules/getcwd (Depends-on): Add malloc-posix.
30100         * modules/glob (Depends-on): Likewise.
30101         * modules/putenv (Depends-on): Likewise.
30102         * modules/strdup (Depends-on): Likewise.
30103         * modules/getdelim (Depends-on): Add realloc-posix.
30104         * modules/read-file (Depends-on): Likewise.
30105
30106 2007-09-09  Bruno Haible  <bruno@clisp.org>
30107
30108         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
30109         (gl_FUNC_MALLOC_POSIX): Require it.
30110         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
30111         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
30112         * modules/realloc (Files): Add m4/malloc.m4.
30113         * modules/calloc (Files): Likewise.
30114
30115 2007-09-09  Bruno Haible  <bruno@clisp.org>
30116
30117         * modules/malloc-posix: New file.
30118         * modules/malloc (Depends-on): Add malloc-posix.
30119         * lib/malloc.c: Include errno.h.
30120         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
30121         and a POSIX-compatible malloc into a single function. Set ENOMEM
30122         when returning NULL.
30123         * m4/malloc.m4: New file.
30124         * doc/functions/malloc.texi: Mention the malloc-posix module.
30125         * lib/stdlib_.h (malloc): New declaration.
30126         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30127         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
30128         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
30129         and HAVE_MALLOC_POSIX.
30130
30131 2007-09-09  Bruno Haible  <bruno@clisp.org>
30132
30133         * modules/realloc-posix: New file.
30134         * modules/realloc (Depends-on): Add realloc-posix.
30135         * lib/realloc.c: Include errno.h.
30136         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
30137         and a POSIX-compatible realloc into a single function. Set ENOMEM
30138         when returning NULL.
30139         * m4/realloc.m4: New file.
30140         * doc/functions/realloc.texi: Mention the realloc-posix module.
30141         * lib/stdlib_.h (realloc): New declaration.
30142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30143         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
30144         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
30145         and HAVE_REALLOC_POSIX.
30146
30147 2007-09-09  Bruno Haible  <bruno@clisp.org>
30148
30149         * modules/calloc-posix: New file.
30150         * modules/calloc (Depends-on): Add calloc-posix.
30151         * lib/calloc.c: Include errno.h.
30152         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
30153         and a POSIX-compatible calloc into a single function. Set ENOMEM
30154         when returning NULL.
30155         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
30156         * doc/functions/calloc.texi: Mention the calloc-posix module.
30157         * lib/stdlib_.h (calloc): New declaration.
30158         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30159         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
30160         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
30161         and HAVE_CALLOC_POSIX.
30162
30163 2007-09-09  Bruno Haible  <bruno@clisp.org>
30164
30165         Allow for modules to show an arbitrary notice.
30166         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
30167         * gnulib-tool: New option --extract-notice.
30168         (func_usage): Document it.
30169         (sed_extract_prog): Update.
30170         (func_get_notice): New function.
30171         (func_modules_notice): New function.
30172         (func_import, func_create_testdir): Invoke it.
30173         Suggested by Jim Meyering.
30174
30175 2007-09-09  Bruno Haible  <bruno@clisp.org>
30176
30177         * gnulib-tool: New options --verbose, --quiet.
30178         (func_usage): Document them.
30179         (verbose): New variable.
30180         (func_execute_command): New function.
30181         (func_import): Don't show the module list and the file list if
30182         $verbose < 0.
30183         (func_create_testdir): Likewise. Use func_execute_command.
30184         (func_create_megatestdir): Use func_execute_command.
30185
30186 2007-09-08  Bruno Haible  <bruno@clisp.org>
30187
30188         * gnulib-tool (func_import): Prefer rsync over wget when available,
30189         for fetching the PO files.
30190
30191 2007-09-08  Bruno Haible  <bruno@clisp.org>
30192
30193         * posix-modules: New file. Portions copied from gnulib-tool.
30194         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
30195
30196 2007-09-08  Jim Meyering  <jim@meyering.net>
30197
30198         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
30199         * lib/fpending.h: Rename from __fpending.h.
30200         * lib/fpending.c: Rename from __fpending.c.
30201         Include "fpending.h", not "__fpending.h".
30202         * lib/__fpending.h, lib/__fpending.c: Remove files.
30203         * modules/fpending (Files): Reflect new file names.
30204         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
30205
30206 2007-09-08  Bruno Haible  <bruno@clisp.org>
30207
30208         * m4/inttypes-h.m4: Remove stub file.
30209
30210 2007-09-07  Simon Josefsson  <simon@josefsson.org>
30211
30212         * doc/headers/stdint.texi: Discuss #include_next issue.
30213
30214 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
30215
30216         * build-aux/bootstrap: Remove obsolete comment about wget --help.
30217
30218 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30219
30220         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
30221         in variable name.
30222
30223 2007-09-03  Jim Meyering  <jim@meyering.net>
30224
30225         New module: git-version-gen.
30226         * modules/git-version-gen: New file.
30227
30228         Import changes from coreutils for bootstrap script.
30229
30230         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
30231
30232         bootstrap: uses rsync to download the .po files
30233         * build-aux/bootstrap (po_download_command_format): New global.
30234         (download_po_files): Use rsync.
30235         (update_po_files): Don't remove .po files after download,
30236         so future rsync runs can take advantage of the copies.
30237
30238         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
30239
30240         Solve the unnecessary-.po-file-regeneration problem once and for all.
30241         * build-aux/bootstrap (download_po_files): New function, renamed from
30242         get_translations.  Now, downloads, but doesn't update LINGUAS.
30243         (update_po_files): New function.
30244
30245         bootstrap: Ignore more.
30246         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
30247         uniwidth to e.g., lib/.gitignore.
30248         (slurp): Handle the sys_stat_.h -> sys mapping, too.
30249
30250         * build-aux/bootstrap: New setting: vc_ignore.
30251         (insert_sorted_if_absent): Create $file if absent.
30252         Adapt to new, possibly empty, list: $vc_ignore.
30253
30254         bootstrap: generate more ignorable names
30255         * build-aux/bootstrap (slurp): When generating ignorable names,
30256         also map .sin to .sed, .gperf to .c, and .y to .c.
30257
30258 2007-09-03  Jim Meyering  <jim@meyering.net>
30259
30260         * build-aux/git-version-gen: New file, from coreutils.  For details, see
30261         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
30262
30263 2007-09-02  Bruno Haible  <bruno@clisp.org>
30264
30265         Fix mis-recognition of 'mcs' on QNX 6.
30266         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
30267         output contains the string "Mono".
30268         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
30269         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
30270
30271 2007-09-01  Bruno Haible  <bruno@clisp.org>
30272
30273         Fix collision between uniwidth/* and linebreak modules.
30274         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
30275         u32_width): Remove declarations.
30276         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
30277         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
30278         streq3, streq2, streq1, streq0): Remove functions.
30279         (STREQ): Remove macro.
30280         (is_cjk_encoding): Remove function.
30281         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
30282         (uc_width, u8_width, u16_width, u32_width): Remove functions.
30283         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
30284         * NEWS: Document the change.
30285
30286 2007-09-01  Bruno Haible  <bruno@clisp.org>
30287
30288         * lib/streq.h: Add double-inclusion guard.
30289
30290 2007-09-01  Karl Berry  <karl@gnu.org>
30291
30292         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
30293
30294 2007-08-28  Jim Meyering  <jim@meyering.net>
30295
30296         Rename mreadlink_with_size to areadlink_with_size.
30297         * NEWS: Document the change.
30298         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
30299         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
30300         * lib/mreadlink.h: Rename this to...
30301         * lib/areadlink.h: ...this.
30302         * modules/mreadlink-with-size: Rename this to...
30303         * modules/areadlink-with-size: ...this.
30304         * lib/canonicalize.c: Reflect the renaming.
30305         * modules/canonicalize: Likewise.
30306
30307 2007-08-26  Bruno Haible  <bruno@clisp.org>
30308
30309         * gnulib-tool (func_import): When deciding which files to remove,
30310         consider also dangling symbolic links.
30311         Reported by Eric Blake.
30312
30313 2007-08-26  Bruno Haible  <bruno@clisp.org>
30314
30315         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
30316
30317 2007-08-23  Simon Josefsson  <simon@josefsson.org>
30318
30319         * lib/readline.c: Don't include getline.h, the prototype is now
30320         found in stdio.h.
30321
30322 2007-08-23  Jim Meyering  <jim@meyering.net>
30323
30324         Getdelim touchup.
30325         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
30326         around the funlockfile call, since funlockfile never sets errno.
30327         Don't set errno upon failed realloc.
30328
30329 2007-08-22  Eric Blake  <ebb9@byu.net>
30330
30331         Getline touchups.
30332         * lib/getdelim.c (getdelim): Revert regression that required *n to
30333         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
30334         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
30335         getdelim, rather than whether implementation is missing.
30336         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
30337         * lib/stdio_.h (getline): Also declare if replacement is
30338         required.
30339         * doc/functions/getdelim.texi: New file.
30340         * doc/functions/getline.texi: Likewise.
30341         * doc/gnulib.texi (Function Substitutes): Add new files.
30342         Reported by Bruno Haible.
30343
30344 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
30345
30346         * users.txt: Add Guile.
30347
30348 2007-08-22  Eric Blake  <ebb9@byu.net>
30349
30350         * tests/test-getdelim.c (main): Use remove, not unlink.
30351         * tests/test-getline.c (main): Likewise.
30352
30353         Move getline and getdelim into stdio.h, per POSIX 200x.
30354         * modules/getline (Files): Remove getline.h.
30355         (Depends-on): Add stdio.
30356         (configure.ac): Add module indicator.
30357         * modules/getdelim (Files): Remove getdelim.h.
30358         (Depends-on): Add stdio.
30359         (configure.ac): Add module indicator.
30360         * modules/stdio (Makefile.am): Work with new indicators.
30361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
30362         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
30363         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30364         * lib/getdelim.h: Delete.
30365         * lib/getline.h: Delete.
30366         * lib/stdio_.h (getdelim, getline): Declare.
30367         * modules/getdelim-tests: New module.
30368         * modules/getline-tests: Likewise.
30369         * tests/test-getdelim.c: New file.
30370         * tests/test-getline.c: Likewise.
30371         * NEWS: Document the change.
30372         * lib/getline.c: Update choice of header.
30373         * lib/csharpcomp.c: Likewise.
30374         * lib/getpass.c: Likewise.
30375         * lib/javacomp.c: Likewise.
30376         * lib/javaversion.c: Likewise.
30377         * lib/yesno.c: Likewise.
30378         * lib/getdelim.c: Likewise.
30379         (getdelim): Set errno on failure, and avoid memory leak.
30380
30381 2007-08-19  Bruno Haible  <bruno@clisp.org>
30382
30383         * modules/closein (Depends-on): Add freadahead.
30384         * lib/closein.c: Include freadahead.h.
30385         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
30386         is zero.
30387
30388 2007-08-19  Bruno Haible  <bruno@clisp.org>
30389
30390         * modules/freadahead-tests: New file.
30391         * tests/test-freadahead.sh: New file.
30392         * tests/test-freadahead.c: New file.
30393
30394         * modules/freadahead: New file.
30395         * lib/freadahead.h: New file.
30396         * lib/freadahead.c: New file.
30397         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
30398         fbufmode, fpurge, freadable, fwritable.
30399
30400 2007-08-19  Eric Blake  <ebb9@byu.net>
30401
30402         Test yesno in combination with closein.
30403         * lib/yesno.c (yesno): Document use of stdin.
30404         * modules/yesno-tests (Files): New module.
30405         * tests/test-yesno.c (main): New file.
30406         * tests/test-yesno.sh: Likewise.
30407
30408 2007-08-19  Bruno Haible  <bruno@clisp.org>
30409
30410         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
30411         * lib/fseeko.c (rpl_fseeko): Likewise.
30412         * lib/fseterr.c (fseterr): Likewise.
30413
30414 2007-08-19  Bruno Haible  <bruno@clisp.org>
30415
30416         * tests/test-lseek.c (main): Disable a test for BeOS.
30417         * doc/functions/lseek.texi: Document the BeOS bug.
30418
30419 2007-08-19  Bruno Haible  <bruno@clisp.org>
30420             Eric Blake  <ebb9@byu.net>
30421
30422         * lib/lseek.c: Include <sys/stat.h>.
30423         (rpl_lseek): Add workaround code also for Unix platforms.
30424         Needed for BeOS.
30425         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
30426         * doc/functions/lseek.texi: Document BeOS definiency.
30427
30428 2007-08-18  Bruno Haible  <bruno@clisp.org>
30429
30430         * modules/fstrcmp-tests: New file.
30431         * tests/test-fstrcmp.c: New file.
30432
30433 2007-08-18  Bruno Haible  <bruno@clisp.org>
30434
30435         * modules/fstrcmp: New file, from GNU gettext with modifications.
30436         * lib/fstrcmp.h: New file, from GNU gettext.
30437         * lib/fstrcmp.c: New file, from GNU gettext.
30438         * MODULES.html.sh (String handling): Add fstrcmp.
30439
30440 2007-08-18  Bruno Haible  <bruno@clisp.org>
30441
30442         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
30443         'bool'.
30444         (diag, compareseq): Remove const from the ctxt argument.
30445         (USE_HEURISTIC): Undefine at the end.
30446
30447 2007-08-18  Jim Meyering  <jim@meyering.net>
30448
30449         New file: lib/idcache.h
30450         * NEWS: Mention the addition.
30451         * modules/idcache (Files): Add lib/idcache.h
30452         * lib/idcache.c: Include "idcache.h".
30453         Don't include <sys/types.h>.
30454         Add a FIXME comment.
30455         Move file-scoped "static" declarations to the top.
30456         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
30457
30458 2007-08-17  Bruno Haible  <bruno@clisp.org>
30459         and Paul Eggert  <eggert@cs.ucla.edu>
30460
30461         * MODULES.html.sh: Add diffseq.
30462         * modules/diffseq: New file.
30463         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
30464         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
30465
30466 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
30467
30468         Import changes from coreutils for bootstrap script.
30469
30470         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
30471
30472         * build-aux/bootstrap (slurp): Work even in environments where
30473         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
30474         current code does not slurp files whose names start with ".", and
30475         this looks like it might be a troublesome area.
30476
30477         2007-07-11  Jim Meyering  <jim@meyering.net>
30478
30479         If there's a GPL vN copyright comment, require that N == 3.
30480
30481         2007-07-08  Jim Meyering  <jim@meyering.net>
30482
30483         Run the coreutils-specific code only if tests/Makefile.am.in exists.
30484         * build-aux/bootstrap (mam_template): Move definition out of loop.
30485
30486         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
30487
30488         * build-aux/bootstrap (symlink_to_dir): Rename function from
30489         symlink_to_gnulib.  Add a directory parameter.  Update all
30490         callers.
30491         (cp_mark_as_generated): Also check for -- and link to -- files in
30492         gl/.
30493
30494         2007-07-08  Jim Meyering  <jim@meyering.net>
30495
30496         Adapt to deeper hierarchy in gnulib.
30497         * build-aux/bootstrap (symlink_to_dir): If the destination
30498         directory doesn't exist, create it. This is required at least for
30499         "lib/uniwidth/cjk.h".
30500
30501         2007-05-15  Jim Meyering  <jim@meyering.net>
30502
30503         * build-aux/bootstrap: Now that generated Makefile.am files
30504         are no longer under version control, they must be created at
30505         bootstrap time.
30506
30507 2007-08-14  Ben Pfaff  <blp@gnu.org>
30508
30509         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
30510
30511 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
30512
30513         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
30514         given the changes below.
30515         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
30516         even on hosts that have padding bits beyond the supported 64.
30517
30518 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30519
30520         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
30521         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
30522         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
30523         depends on it.
30524         (xstrtol_error): Remove.
30525         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
30526         but with a different signature.
30527         (ATTRIBUTE_NORETURN, __attribute__): New macros.
30528         * lib/xstrtol-error.c: Include exitfail.h.
30529         (xstrtol_fatal): New function, with a different signature from the
30530         old xstrtol_error, so that the caller need not worry about passing
30531         in an exit status, or about storage management of the option argument.
30532         (xstrtol_error): Now a static function.  Redo signature to
30533         implement xstrtol_fatal.  Output the correct number of hyphens in
30534         front of the option so that the caller need not worry about
30535         storage management.
30536         (N_): New macro.
30537         (_): Remove; not used now.
30538         * modules/xstrtol: Depend on getopt.
30539         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
30540         of old STRTOL_FATAL_ERROR macro.
30541         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
30542         of test program.
30543         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
30544         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
30545
30546 2007-08-08  Eric Blake  <ebb9@byu.net>
30547
30548         * lib/xstrtol-error.c: Add missing include.
30549
30550         Move xstrtol messages into gnulib domain, when --pobase is used.
30551         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
30552         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
30553         * modules/xstrtol (Files): Distribute new file.
30554         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
30555         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
30556         * tests/test-xstrtol.c: ...into new file.
30557         * tests/test-xstrtoul.c: Also test xstrtoul.
30558         * tests/test-xstrtoimax.c: Also test xstrtoimax.
30559         * tests/test-xstrtoumax.c: Also test xstrtoumax.
30560         * tests/test-xstrtol.sh: Drive the tests.
30561         * tests/test-xstrtoimax.sh: Likewise.
30562         * tests/test-xstrtoumax.sh: Likewise.
30563         * modules/xstrtol-tests: New module.
30564         * modules/xstrtoimax-tests: Likewise.
30565         * modules/xstrtoumax-tests: Likewise.
30566
30567 2007-08-08  Jim Meyering  <jim@meyering.net>
30568
30569         New function: mfile_name_concat.
30570         * lib/filenamecat.c (mfile_name_concat): New function, just like
30571         file_name_concat, but return NULL upon failure rather than exiting
30572         with a diagnostic.
30573         * lib/filenamecat.h: Declare it.
30574
30575 2007-08-07  Bruno Haible  <bruno@clisp.org>
30576
30577         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
30578         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
30579         warning from gcc.
30580         Reported by Eric Blake.
30581
30582 2007-08-07  Simon Josefsson  <simon@josefsson.org>
30583
30584         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
30585         * modules/crypto/arcfour (License): Likewise.
30586         * modules/crypto/des-tests (License): Likewise.
30587         * modules/crypto/gc-arctwo-tests (License): Likewise.
30588         * modules/crypto/gc-des-tests (License): Likewise.
30589         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
30590         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
30591         * modules/crypto/gc-md2-tests (License): Likewise.
30592         * modules/crypto/gc-md4-tests (License): Likewise.
30593         * modules/crypto/gc-md5-tests (License): Likewise.
30594         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
30595         * modules/crypto/gc-rijndael-tests (License): Likewise.
30596         * modules/crypto/gc-sha1-tests (License): Likewise.
30597         * modules/crypto/gc-tests (License): Likewise.
30598         * modules/crypto/hmac-md5 (License): Likewise.
30599         * modules/crypto/hmac-sha1 (License): Likewise.
30600         * modules/crypto/md2-tests (License): Likewise.
30601         * modules/crypto/md4-tests (License): Likewise.
30602         * modules/crypto/md5 (License): Likewise.
30603         * modules/crypto/rijndael (License): Likewise.
30604         * modules/crypto/sha1 (License): Likewise.
30605         * modules/memxor (License): Likewise.
30606
30607 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
30608         and Bruno Haible  <bruno@clisp.org>
30609
30610         * NEWS: Describe interface changes to human, xstrtol.
30611         * lib/human.h: Include <xstrtol.h>.
30612         (human_options): Return enum strtol_error, not int.  Remove
30613         bool arg; take int * instead.
30614         * lib/human.c: Don't include "gettext.h".
30615         (_): Remove; no longer used.
30616         Don't include <xstrtol.h>, since human.h does it.
30617         (human_options): Adjust to abovementioned interface changes.
30618         Do not report error to stderr; that's now the caller's
30619         responsibility.
30620         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
30621         interface change.
30622         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
30623         Str, Argument_type_string.  All uses changed.  Put " argument"
30624         in diagnostics to make them clearer.  Change wording of suffix
30625         message for clarity.
30626         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
30627         Argument_type_string.
30628         (STRTOL_FATAL_WARN): Remove; no longer used.
30629         * modules/human (Depends-on): Remove gettext-h.
30630
30631 2007-08-06  Simon Josefsson  <simon@josefsson.org>
30632
30633         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
30634
30635 2007-07-31  Bruno Haible  <bruno@clisp.org>
30636
30637         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
30638         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
30639         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
30640
30641 2007-07-31  Bruno Haible  <bruno@clisp.org>
30642
30643         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
30644         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
30645
30646 2007-07-30  Bruno Haible  <bruno@clisp.org>
30647
30648         * modules/base64 (License): Use the synonymous term "LGPLv2+".
30649         * modules/c-ctype (License): Likewise.
30650         * modules/c-strcase (License): Likewise.
30651         * modules/check-version (License): Likewise.
30652         * modules/iconv (License): Likewise.
30653         * modules/iconv_open (License): Likewise.
30654         * modules/read-file (License): Likewise.
30655         * modules/striconv (License): Likewise.
30656         * modules/strverscmp (License): Likewise.
30657         * modules/vasprintf (License): Likewise.
30658         * modules/crypto/des (License): Likewise.
30659         * modules/crypto/gc (License): Likewise.
30660         * modules/crypto/gc-arcfour (License): Likewise.
30661         * modules/crypto/gc-arctwo (License): Likewise.
30662         * modules/crypto/gc-des (License): Likewise.
30663         * modules/crypto/gc-hmac-md5 (License): Likewise.
30664         * modules/crypto/gc-hmac-sha1 (License): Likewise.
30665         * modules/crypto/gc-md2 (License): Likewise.
30666         * modules/crypto/gc-md4 (License): Likewise.
30667         * modules/crypto/gc-md5 (License): Likewise.
30668         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
30669         * modules/crypto/gc-random (License): Likewise.
30670         * modules/crypto/gc-rijndael (License): Likewise.
30671         * modules/crypto/gc-sha1 (License): Likewise.
30672         * modules/crypto/md2 (License): Likewise.
30673         * modules/crypto/md4 (License): Likewise.
30674
30675 2007-07-30  Jim Meyering  <jim@meyering.net>
30676
30677         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
30678         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
30679         it has valid stat data.  This bug would cause du not to count the
30680         sizes of inaccessible directories.
30681         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
30682         in <http://bugzilla.redhat.com/250077>.
30683
30684 2007-07-25  Peter O'Gorman  <peter@pogma.com>
30685             Bruno Haible  <bruno@clisp.org>
30686
30687         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
30688         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
30689         #include_next, gives a diagnostic about it, but reports no error in
30690         the exit code.
30691         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
30692
30693 2007-07-24  Ben Pfaff  <blp@gnu.org>
30694
30695         Improve name: "count-one-bits" is better than "popcount".
30696         * MODULES.html.sh: Update name.
30697         * lib/popcount.h: Renamed lib/count-one-bits.h.
30698         (popcount): Renamed count_one_bits.
30699         (popcountl): Renamed count_one_bits_l.
30700         (popcountll): Renamed count_one_bits_ll.
30701         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
30702         * modules/popcount: Renamed module/count-one-bits.
30703         * modules/popcount-tests: Renamed module/count-one-bits-tests.
30704         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
30705
30706 2007-07-23  Ben Pfaff  <blp@gnu.org>
30707
30708         * lib/popcount.h (popcount32): Reduce size of constants, to allow
30709         better code generation, and add U to large constants to avoid
30710         warnings, in non-GCC case.
30711         Suggested by Bruno Haible.
30712
30713 2007-07-23  Ben Pfaff  <blp@gnu.org>
30714
30715         * lib/popcount.h: Use verify_true instead of if...abort.
30716         * modules/popcount: Depend on verify module.
30717         Suggested by Jim Meyering.
30718
30719 2007-07-23  Bruno Haible  <bruno@clisp.org>
30720
30721         * gnulib-tool (func_import): Create a .cvsignore file also when the
30722         directory is not yet in CVS but the toplevel directory is. When
30723         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
30724         Reported by Karl Berry.
30725
30726 2007-07-22  Ben Pfaff  <blp@gnu.org>
30727
30728         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
30729         case.
30730         Suggested by Eric Blake.
30731
30732 2007-07-22  Ben Pfaff  <blp@gnu.org>
30733
30734         New module: popcount.
30735         * MODULES.html.sh: Add popcount.
30736         * modules/popcount: New file.
30737         * modules/popcount-tests: New file.
30738         * tests/test-popcount.c: New file.
30739         * lib/popcount.h: New file.
30740         * m4/popcount.m4: New file.
30741
30742 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
30743
30744         * build-aux/announce-gen: Update to GPLv3.
30745
30746         * build-aux/config.guess: Update from config.
30747
30748 2007-07-21  Bruno Haible  <bruno@clisp.org>
30749
30750         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
30751         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
30752
30753 2007-07-20  Jim Meyering  <jim@meyering.net>
30754
30755         * check-module: Diagnose a self-dependency.
30756
30757 2007-07-19  Bruno Haible  <bruno@clisp.org>
30758
30759         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
30760         empty.
30761         Reported by Eric Blake.
30762
30763 2007-07-18  Bruno Haible  <bruno@clisp.org>
30764
30765         * gnulib-tool: New options --po-base, --po-domain.
30766         (func_usage): Document them.
30767         (pobase, po_domain): New variables.
30768         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
30769         DEFAULT_TEXT_DOMAIN.
30770         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
30771         (func_import): Consider pobase and po_domain. Create a po/ directory.
30772         (func_create_testdir): Set pobase and po_domain to empty.
30773         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
30774         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
30775
30776 2007-07-18  Bruno Haible  <bruno@clisp.org>
30777
30778         * gnulib-tool (func_get_automake_snippet): Synthesize also an
30779         EXTRA_DIST augmentation for files in build-aux/.
30780
30781 2007-07-16  Bruno Haible  <bruno@clisp.org>
30782
30783         * modules/lseek (License): Use the synonymous term "LGPLv2+".
30784         * modules/getdelim (License): Likewise.
30785
30786 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30787
30788         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
30789         * modules/d-type (License): Likewise.
30790         * modules/extensions (License): Likewise.
30791         * modules/fnmatch (License): Likewise.
30792         * modules/fseeko (License): Likewise.
30793         * modules/getaddrinfo (License): Likewise.
30794         * modules/getline (License): Likewise.
30795         * modules/getlogin_r (License): Likewise.
30796         * modules/getpass (License): Likewise.
30797         * modules/gettimeofday (License): Likewise.
30798         * modules/glob (License): Likewise.
30799         * modules/inet_ntop (License): Likewise.
30800         * modules/malloc (License): Likewise.
30801         * modules/malloca (License): Likewise.
30802         * modules/memmem (License): Likewise.
30803         * modules/mempcpy (License): Likewise.
30804         * modules/memset (License): Likewise.
30805         * modules/minmax (License): Likewise.
30806         * modules/mktime (License): Likewise.
30807         * modules/netinet_in (License): Likewise.
30808         * modules/pathmax (License): Likewise.
30809         * modules/poll (License): Likewise.
30810         * modules/regex (License): Likewise.
30811         * modules/snprintf (License): Likewise.
30812         * modules/stdbool (License): Likewise.
30813         * modules/stdint (License): Likewise.
30814         * modules/stdio (License): Likewise.
30815         * modules/strcase (License): Likewise.
30816         * modules/strcasestr (License): Likewise.
30817         * modules/strdup (License): Likewise.
30818         * modules/string (License): Likewise.
30819         * modules/strndup (License): Likewise.
30820         * modules/strnlen (License): Likewise.
30821         * modules/strpbrk (License): Likewise.
30822         * modules/strptime (License): Likewise.
30823         * modules/strsep (License): Likewise.
30824         * modules/sys_select (License): Likewise.
30825         * modules/sys_socket (License): Likewise.
30826         * modules/sys_stat (License): Likewise.
30827         * modules/sys_time (License): Likewise.
30828         * modules/time (License): Likewise.
30829         * modules/time_r (License): Likewise.
30830         * modules/timegm (License): Likewise.
30831         * modules/unistd (License): Likewise.
30832         * modules/vsnprintf (License): Likewise.
30833         * modules/wctype (License): Likewise.
30834
30835 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30836
30837         * modules/argz (License): LGPLv2+.
30838
30839 2007-07-15  Karl Berry  <karl@gnu.org>
30840
30841         * doc/gnulib.texi: revise node structure per new fdl.texi.
30842
30843 2007-07-14  Bruno Haible  <bruno@clisp.org>
30844
30845         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
30846         the output file.
30847         * lib/uniname/uninames.h: Regenerated.
30848
30849 2007-07-14  Karl Berry  <karl@gnu.org>
30850
30851         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
30852         omitting sectioning and index commands.
30853
30854 2007-07-13  Bruno Haible  <bruno@clisp.org>
30855
30856         New gnulib-tool option --more-symlinks.
30857         * gnulib-tool (func_usage): Document --more-symlinks.
30858         (do_copyrights): New variable.
30859         Recognize option --more-symlinks.
30860         (func_import): Don't add a copyright notice transform to
30861         sed_transform_lib_file if do_copyrights is empty.
30862
30863 2007-07-13  Bruno Haible  <bruno@clisp.org>
30864
30865         * lib/vasnprintf.c (decimal_point_char): Define also if
30866         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
30867         && !NEED_PRINTF_DIRECTIVE_A.
30868         Reported by Clemens Koller <clemens.koller@anagramm.de> via
30869         Gary V. Vaughan <gary@gnu.org>.
30870
30871 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
30872
30873         * lib/inttypes_.h: Undo previous change, since it was fixed
30874         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
30875
30876 2007-07-13  Bruno Haible  <bruno@clisp.org>
30877
30878         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
30879         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
30880
30881 2007-07-13  Jim Meyering  <jim@meyering.net>
30882
30883         df: Don't fail for Tru64's "file-on-file mount".
30884         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
30885         so we fall through and use statfs instead.  Details here:
30886         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
30887         Reported by Albert Chin.
30888
30889 2007-07-13  Bruno Haible  <bruno@clisp.org>
30890
30891         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
30892         * modules/configmake (License): Likewise.
30893         * modules/gettext (License): Likewise.
30894         * modules/gettext-h (License): Likewise.
30895         * modules/include_next (License): Likewise.
30896         * modules/link-warning (License): Likewise.
30897         * modules/localcharset (License): Likewise.
30898         * modules/localename (License): Likewise.
30899         * modules/lock (License): Likewise.
30900         * modules/relocatable-lib-lgpl (License): Likewise.
30901         * modules/size_max (License): Likewise.
30902         * modules/vasnprintf (License): Likewise.
30903         * modules/wchar (License): Likewise.
30904         * modules/xsize (License): Likewise.
30905
30906 2007-07-13  Bruno Haible  <bruno@clisp.org>
30907
30908         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
30909         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
30910
30911 2007-07-12  Bruno Haible  <bruno@clisp.org>
30912
30913         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
30914         in the modules files.
30915
30916 2007-07-11  Karl Berry  <karl@gnu.org>
30917
30918         * MODULES.html.sh (func_module): use
30919          sed -e '\|^'"${includefile}"'$|d'
30920          instead of /.../d, to avoid errors on $includefile's containing /.
30921
30922 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
30923
30924         * gnulib-tool (func_import): Avoid duplication of --avoid
30925         statements
30926         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
30927         names to `_' in variable names.
30928
30929 2007-07-10  Eric Blake  <ebb9@byu.net>
30930
30931         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
30932         * NEWS: Document this change.
30933
30934 2007-07-08  Bruno Haible  <bruno@clisp.org>
30935
30936         Update to Unicode 5.0.
30937         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
30938         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
30939         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
30940         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
30941         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
30942         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
30943         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
30944         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
30945         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
30946         U+10A3F, U+1D242..U+1D244.
30947         (nonspacing_table_ind): Update.
30948         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
30949         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
30950
30951 2007-07-08  Bruno Haible  <bruno@clisp.org>
30952
30953         Update to Unicode 5.0.
30954         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
30955         code transform. Extend the name index field of unicode_name_to_code and
30956         unicode_code_to_name from 16 to 24 bits.
30957         * lib/uniname/uniname.c (unicode_character_name,
30958         unicode_name_character): Add the range 0x12xxx to the code transform.
30959         * lib/uniname/uninames.h: Regenerated.
30960         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
30961
30962 2007-07-07  Bruno Haible  <bruno@clisp.org>
30963
30964         * modules/wcwidth-tests: New file.
30965         * tests/test-wcwidth.c: New file.
30966
30967         Work around MacOS X wcwidth() bug.
30968         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
30969         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
30970         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
30971         original wcwidth in non-UTF-8 locales.
30972         * modules/wcwidth (Depends-on): Add localcharset, streq,
30973         uniwidth/width.
30974         * doc/functions/wcwidth.texi: Update.
30975
30976 2007-07-07  Bruno Haible  <bruno@clisp.org>
30977
30978         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
30979         (wcwidth): New declaration.
30980         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
30981         macros.
30982         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
30983         here. Prepare for creating <wchar.h> unconditionally.
30984         * modules/wchar (Depends-on): Add link-warning.
30985         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
30986         REPLACE_WCWIDTH, and GL_LINK_WARNING.
30987         * lib/wcwidth.h: Remove file.
30988         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
30989         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
30990         * modules/wcwidth (Files): Remove lib/wcwidth.h.
30991         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
30992         (Include): Replace wcwidth.h with <wchar.h>.
30993         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
30994         * lib/mbchar.h: Don't include wcwidth.h.
30995         * lib/mbswidth.c: Likewise.
30996         * NEWS: Mention the change.
30997
30998 2007-07-07  Bruno Haible  <bruno@clisp.org>
30999
31000         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
31001         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
31002         definition with an external declaration.
31003         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
31004         defined as a function. Remove AC_C_INLINE requirement.
31005         * modules/wcwidth (Files): Add lib/wcwidth.c.
31006         (Makefile.am): Remove redundant statement.
31007
31008 2007-07-07  Bruno Haible  <bruno@clisp.org>
31009
31010         * MODULES.html.sh (Unicode string functions): Add the new modules.
31011
31012         * tests/uniwidth/test-u32-strwidth.c: New file.
31013         * modules/uniwidth/u32-strwidth-tests: New file.
31014
31015         * lib/uniwidth/u32-strwidth.c: New file.
31016         * modules/uniwidth/u32-strwidth: New file.
31017
31018         * tests/uniwidth/test-u16-strwidth.c: New file.
31019         * modules/uniwidth/u16-strwidth-tests: New file.
31020
31021         * lib/uniwidth/u16-strwidth.c: New file.
31022         * modules/uniwidth/u16-strwidth: New file.
31023
31024         * tests/uniwidth/test-u8-strwidth.c: New file.
31025         * modules/uniwidth/u8-strwidth-tests: New file.
31026
31027         * lib/uniwidth/u8-strwidth.c: New file.
31028         * modules/uniwidth/u8-strwidth: New file.
31029
31030         * tests/uniwidth/test-u32-width.c: New file.
31031         * modules/uniwidth/u32-width-tests: New file.
31032
31033         * lib/uniwidth/u32-width.c: New file.
31034         * modules/uniwidth/u32-width: New file.
31035
31036         * tests/uniwidth/test-u16-width.c: New file.
31037         * modules/uniwidth/u16-width-tests: New file.
31038
31039         * lib/uniwidth/u16-width.c: New file.
31040         * modules/uniwidth/u16-width: New file.
31041
31042         * tests/uniwidth/test-u8-width.c: New file.
31043         * modules/uniwidth/u8-width-tests: New file.
31044
31045         * lib/uniwidth/u8-width.c: New file.
31046         * modules/uniwidth/u8-width: New file.
31047
31048         * tests/uniwidth/test-uc_width.c: New file.
31049         * modules/uniwidth/width-tests: New file.
31050
31051         * lib/uniwidth/width.c: New file, from GNU libiconv.
31052         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
31053         * modules/uniwidth/width: New file.
31054
31055         * lib/uniwidth.h: New file, from GNU libiconv.
31056         * modules/uniwidth/base: New file.
31057
31058 2007-07-07  Bruno Haible  <bruno@clisp.org>
31059
31060         * lib/uniname.h: New file, from GNU gettext.
31061         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
31062         * lib/uniname/uninames.h: New file, from GNU gettext.
31063         * lib/uniname/uniname.c: New file, from GNU gettext.
31064         * tests/uniname/test-uninames.sh: New file.
31065         * tests/uniname/test-uninames.c: New file, from GNU gettext.
31066         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
31067         * modules/uniname/base: New file.
31068         * modules/uniname/uniname: New file.
31069         * modules/uniname/uniname-tests: New file.
31070         * MODULES.html.sh (Unicode string functions): Add the new modules.
31071
31072 2007-07-06  Bruno Haible  <bruno@clisp.org>
31073
31074         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
31075
31076 2007-07-06  Bruno Haible  <bruno@clisp.org>
31077
31078         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
31079         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
31080         includes <cygwin/sys_time.h> which includes <sys/select.h> which
31081         include <sys/time.h>.
31082         Reported by Eric Blake.
31083
31084 2007-07-06  Eric Blake  <ebb9@byu.net>
31085
31086         Fix testing canonicalize on cygwin.
31087         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
31088         Revert patch from 2007-06-19.
31089         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
31090         canonicalize module is also in use.
31091         * tests/test-canonicalize.c: New file.
31092         * tests/test-canonicalize.sh: Likewise.
31093         * modules/canonicalize-tests: Likewise.
31094
31095 2007-07-06  Jim Meyering  <jim@meyering.net>
31096
31097         * lib/getugroups.c (getugroups): Detect getgrent failure.
31098         Adjust comment to reflect reality: this function may return -1.
31099
31100 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31101
31102         * build-aux/bootstrap (TP_URL,get_translations): Update to use
31103         the new TP address.
31104         (usage): Fix typo
31105         (gnulib_mk): New variable.
31106
31107 2007-07-05  Jim Meyering  <jim@meyering.net>
31108
31109         Don't let endgrent clobber errno, no matter how improbable.
31110         * lib/getugroups.c (getugroups): Save and restore errno around
31111         endgrent call.
31112
31113         Close the group DB even when failing with 2^31 or more members.
31114         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
31115
31116 2007-07-04  Jim Meyering  <jim@meyering.net>
31117
31118         * lib/getugroups.h: New file.
31119         * lib/getugroups.c: Include "getugroups.h".
31120         Remove uses of "register" keyword.
31121         Move local variable, "cp", down into scope where used.
31122         Give "username" parameter the "const" attribute.
31123         * modules/getugroups (Files): Add lib/getugroups.h
31124
31125 2007-07-04  Karl Berry  <karl@gnu.org>
31126
31127         * MODULES.html.sh (func_all_modules): Complete rename of
31128         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
31129
31130 2007-07-02  Bruno Haible  <bruno@clisp.org>
31131
31132         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
31133         mode, when inttypes.h comes from gnulib.
31134         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
31135
31136 2007-07-02  Simon Josefsson  <simon@josefsson.org>
31137
31138         * NEWS: Mention lgpl module name change.
31139
31140         * modules/lgpl-2.1: Renamed from lgpl.
31141
31142         * NEWS: Mention gpl module name change.
31143
31144         * modules/gpl-3.0: New file, based on gpl-2.0.
31145
31146         * modules/gpl-2.0: Renamed from gpl.
31147
31148         * modules/gpl: Fix filename, doc/gpl.texi is now found at
31149         doc/gpl-2.0.texi.
31150
31151 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
31152
31153         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
31154         #define __STDC_LIMIT_MACROS temporarily while including
31155         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
31156         Problem reported by Joel E. Denny in
31157         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
31158
31159 2007-07-01  Bruno Haible  <bruno@clisp.org>
31160
31161         * lib/unistdio.h: New file.
31162         * lib/unistdio/u-asnprintf.h: New file.
31163         * lib/unistdio/u-asprintf.h: New file.
31164         * lib/unistdio/u-printf-args.c: New file.
31165         * lib/unistdio/u-printf-args.h: New file.
31166         * lib/unistdio/u-printf-parse.h: New file.
31167         * lib/unistdio/u-snprintf.h: New file.
31168         * lib/unistdio/u-sprintf.h: New file.
31169         * lib/unistdio/u-vasprintf.h: New file.
31170         * lib/unistdio/u-vsnprintf.h: New file.
31171         * lib/unistdio/u-vsprintf.h: New file.
31172         * lib/unistdio/ulc-asnprintf.c: New file.
31173         * lib/unistdio/ulc-asprintf.c: New file.
31174         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
31175         * lib/unistdio/ulc-printf-parse.c: New file.
31176         * lib/unistdio/ulc-snprintf.c: New file.
31177         * lib/unistdio/ulc-sprintf.c: New file.
31178         * lib/unistdio/ulc-vasnprintf.c: New file.
31179         * lib/unistdio/ulc-vasprintf.c: New file.
31180         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
31181         * lib/unistdio/ulc-vsnprintf.c: New file.
31182         * lib/unistdio/ulc-vsprintf.c: New file.
31183         * lib/unistdio/u8-asnprintf.c: New file.
31184         * lib/unistdio/u8-asprintf.c: New file.
31185         * lib/unistdio/u8-printf-parse.c: New file.
31186         * lib/unistdio/u8-snprintf.c: New file.
31187         * lib/unistdio/u8-sprintf.c: New file.
31188         * lib/unistdio/u8-vasnprintf.c: New file.
31189         * lib/unistdio/u8-vasprintf.c: New file.
31190         * lib/unistdio/u8-vsnprintf.c: New file.
31191         * lib/unistdio/u8-vsprintf.c: New file.
31192         * lib/unistdio/u8-u8-asnprintf.c: New file.
31193         * lib/unistdio/u8-u8-asprintf.c: New file.
31194         * lib/unistdio/u8-u8-snprintf.c: New file.
31195         * lib/unistdio/u8-u8-sprintf.c: New file.
31196         * lib/unistdio/u8-u8-vasnprintf.c: New file.
31197         * lib/unistdio/u8-u8-vasprintf.c: New file.
31198         * lib/unistdio/u8-u8-vsnprintf.c: New file.
31199         * lib/unistdio/u8-u8-vsprintf.c: New file.
31200         * lib/unistdio/u16-asnprintf.c: New file.
31201         * lib/unistdio/u16-asprintf.c: New file.
31202         * lib/unistdio/u16-printf-parse.c: New file.
31203         * lib/unistdio/u16-snprintf.c: New file.
31204         * lib/unistdio/u16-sprintf.c: New file.
31205         * lib/unistdio/u16-vasnprintf.c: New file.
31206         * lib/unistdio/u16-vasprintf.c: New file.
31207         * lib/unistdio/u16-vsnprintf.c: New file.
31208         * lib/unistdio/u16-vsprintf.c: New file.
31209         * lib/unistdio/u16-u16-asnprintf.c: New file.
31210         * lib/unistdio/u16-u16-asprintf.c: New file.
31211         * lib/unistdio/u16-u16-snprintf.c: New file.
31212         * lib/unistdio/u16-u16-sprintf.c: New file.
31213         * lib/unistdio/u16-u16-vasnprintf.c: New file.
31214         * lib/unistdio/u16-u16-vasprintf.c: New file.
31215         * lib/unistdio/u16-u16-vsnprintf.c: New file.
31216         * lib/unistdio/u16-u16-vsprintf.c: New file.
31217         * lib/unistdio/u32-asnprintf.c: New file.
31218         * lib/unistdio/u32-asprintf.c: New file.
31219         * lib/unistdio/u32-printf-parse.c: New file.
31220         * lib/unistdio/u32-snprintf.c: New file.
31221         * lib/unistdio/u32-sprintf.c: New file.
31222         * lib/unistdio/u32-vasnprintf.c: New file.
31223         * lib/unistdio/u32-vasprintf.c: New file.
31224         * lib/unistdio/u32-vsnprintf.c: New file.
31225         * lib/unistdio/u32-vsprintf.c: New file.
31226         * lib/unistdio/u32-u32-asnprintf.c: New file.
31227         * lib/unistdio/u32-u32-asprintf.c: New file.
31228         * lib/unistdio/u32-u32-snprintf.c: New file.
31229         * lib/unistdio/u32-u32-sprintf.c: New file.
31230         * lib/unistdio/u32-u32-vasnprintf.c: New file.
31231         * lib/unistdio/u32-u32-vasprintf.c: New file.
31232         * lib/unistdio/u32-u32-vsnprintf.c: New file.
31233         * lib/unistdio/u32-u32-vsprintf.c: New file.
31234         * tests/unistdio/test-ulc-asnprintf1.c: New file.
31235         * tests/unistdio/test-ulc-asnprintf1.h: New file.
31236         * tests/unistdio/test-ulc-printf1.h: New file.
31237         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
31238         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
31239         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
31240         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
31241         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
31242         * tests/unistdio/test-ulc-vasprintf1.c: New file.
31243         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
31244         * tests/unistdio/test-ulc-vsprintf1.c: New file.
31245         * tests/unistdio/test-u8-asnprintf1.c: New file.
31246         * tests/unistdio/test-u8-asnprintf1.h: New file.
31247         * tests/unistdio/test-u8-printf1.h: New file.
31248         * tests/unistdio/test-u8-vasnprintf1.c: New file.
31249         * tests/unistdio/test-u8-vasnprintf2.c: New file.
31250         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
31251         * tests/unistdio/test-u8-vasnprintf3.c: New file.
31252         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
31253         * tests/unistdio/test-u8-vasprintf1.c: New file.
31254         * tests/unistdio/test-u8-vsnprintf1.c: New file.
31255         * tests/unistdio/test-u8-vsprintf1.c: New file.
31256         * tests/unistdio/test-u16-asnprintf1.c: New file.
31257         * tests/unistdio/test-u16-asnprintf1.h: New file.
31258         * tests/unistdio/test-u16-printf1.h: New file.
31259         * tests/unistdio/test-u16-vasnprintf1.c: New file.
31260         * tests/unistdio/test-u16-vasnprintf2.c: New file.
31261         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
31262         * tests/unistdio/test-u16-vasnprintf3.c: New file.
31263         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
31264         * tests/unistdio/test-u16-vasprintf1.c: New file.
31265         * tests/unistdio/test-u16-vsnprintf1.c: New file.
31266         * tests/unistdio/test-u16-vsprintf1.c: New file.
31267         * tests/unistdio/test-u32-asnprintf1.c: New file.
31268         * tests/unistdio/test-u32-asnprintf1.h: New file.
31269         * tests/unistdio/test-u32-printf1.h: New file.
31270         * tests/unistdio/test-u32-vasnprintf1.c: New file.
31271         * tests/unistdio/test-u32-vasnprintf2.c: New file.
31272         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
31273         * tests/unistdio/test-u32-vasnprintf3.c: New file.
31274         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
31275         * tests/unistdio/test-u32-vasprintf1.c: New file.
31276         * tests/unistdio/test-u32-vsnprintf1.c: New file.
31277         * tests/unistdio/test-u32-vsprintf1.c: New file.
31278         * modules/unistdio/base: New file.
31279         * modules/unistdio/u-printf-args: New file.
31280         * modules/unistdio/ulc-asnprintf: New file.
31281         * modules/unistdio/ulc-asprintf: New file.
31282         * modules/unistdio/ulc-fprintf: New file.
31283         * modules/unistdio/ulc-printf-parse: New file.
31284         * modules/unistdio/ulc-snprintf: New file.
31285         * modules/unistdio/ulc-sprintf: New file.
31286         * modules/unistdio/ulc-vasnprintf: New file.
31287         * modules/unistdio/ulc-vasprintf: New file.
31288         * modules/unistdio/ulc-vfprintf: New file.
31289         * modules/unistdio/ulc-vsnprintf: New file.
31290         * modules/unistdio/ulc-vsprintf: New file.
31291         * modules/unistdio/u8-asnprintf: New file.
31292         * modules/unistdio/u8-asprintf: New file.
31293         * modules/unistdio/u8-printf-parse: New file.
31294         * modules/unistdio/u8-snprintf: New file.
31295         * modules/unistdio/u8-sprintf: New file.
31296         * modules/unistdio/u8-vasnprintf: New file.
31297         * modules/unistdio/u8-vasprintf: New file.
31298         * modules/unistdio/u8-vsnprintf: New file.
31299         * modules/unistdio/u8-vsprintf: New file.
31300         * modules/unistdio/u8-u8-asnprintf: New file.
31301         * modules/unistdio/u8-u8-asprintf: New file.
31302         * modules/unistdio/u8-u8-snprintf: New file.
31303         * modules/unistdio/u8-u8-sprintf: New file.
31304         * modules/unistdio/u8-u8-vasnprintf: New file.
31305         * modules/unistdio/u8-u8-vasprintf: New file.
31306         * modules/unistdio/u8-u8-vsnprintf: New file.
31307         * modules/unistdio/u8-u8-vsprintf: New file.
31308         * modules/unistdio/u16-asnprintf: New file.
31309         * modules/unistdio/u16-asprintf: New file.
31310         * modules/unistdio/u16-printf-parse: New file.
31311         * modules/unistdio/u16-snprintf: New file.
31312         * modules/unistdio/u16-sprintf: New file.
31313         * modules/unistdio/u16-vasnprintf: New file.
31314         * modules/unistdio/u16-vasprintf: New file.
31315         * modules/unistdio/u16-vsnprintf: New file.
31316         * modules/unistdio/u16-vsprintf: New file.
31317         * modules/unistdio/u16-u16-asnprintf: New file.
31318         * modules/unistdio/u16-u16-asprintf: New file.
31319         * modules/unistdio/u16-u16-snprintf: New file.
31320         * modules/unistdio/u16-u16-sprintf: New file.
31321         * modules/unistdio/u16-u16-vasnprintf: New file.
31322         * modules/unistdio/u16-u16-vasprintf: New file.
31323         * modules/unistdio/u16-u16-vsnprintf: New file.
31324         * modules/unistdio/u16-u16-vsprintf: New file.
31325         * modules/unistdio/u32-asnprintf: New file.
31326         * modules/unistdio/u32-asprintf: New file.
31327         * modules/unistdio/u32-printf-parse: New file.
31328         * modules/unistdio/u32-snprintf: New file.
31329         * modules/unistdio/u32-sprintf: New file.
31330         * modules/unistdio/u32-vasnprintf: New file.
31331         * modules/unistdio/u32-vasprintf: New file.
31332         * modules/unistdio/u32-vsnprintf: New file.
31333         * modules/unistdio/u32-vsprintf: New file.
31334         * modules/unistdio/u32-u32-asnprintf: New file.
31335         * modules/unistdio/u32-u32-asprintf: New file.
31336         * modules/unistdio/u32-u32-snprintf: New file.
31337         * modules/unistdio/u32-u32-sprintf: New file.
31338         * modules/unistdio/u32-u32-vasnprintf: New file.
31339         * modules/unistdio/u32-u32-vasprintf: New file.
31340         * modules/unistdio/u32-u32-vsnprintf: New file.
31341         * modules/unistdio/u32-u32-vsprintf: New file.
31342         * modules/unistdio/ulc-asnprintf-tests: New file.
31343         * modules/unistdio/ulc-vasnprintf-tests: New file.
31344         * modules/unistdio/ulc-vasprintf-tests: New file.
31345         * modules/unistdio/ulc-vsnprintf-tests: New file.
31346         * modules/unistdio/ulc-vsprintf-tests: New file.
31347         * modules/unistdio/u8-asnprintf-tests: New file.
31348         * modules/unistdio/u8-vasnprintf-tests: New file.
31349         * modules/unistdio/u8-vasprintf-tests: New file.
31350         * modules/unistdio/u8-vsnprintf-tests: New file.
31351         * modules/unistdio/u8-vsprintf-tests: New file.
31352         * modules/unistdio/u16-asnprintf-tests: New file.
31353         * modules/unistdio/u16-vasnprintf-tests: New file.
31354         * modules/unistdio/u16-vasprintf-tests: New file.
31355         * modules/unistdio/u16-vsnprintf-tests: New file.
31356         * modules/unistdio/u16-vsprintf-tests: New file.
31357         * modules/unistdio/u32-asnprintf-tests: New file.
31358         * modules/unistdio/u32-vasnprintf-tests: New file.
31359         * modules/unistdio/u32-vasprintf-tests: New file.
31360         * modules/unistdio/u32-vsnprintf-tests: New file.
31361         * modules/unistdio/u32-vsprintf-tests: New file.
31362         * MODULES.html.sh (Unicode string functions): Add the new modules.
31363
31364 2007-07-01  Bruno Haible  <bruno@clisp.org>
31365
31366         * lib/sprintf.c (sprintf): Limit the available length estimation,
31367         to avoid address wraparound.
31368         * lib/vsprintf.c (vsprintf): Likewise.
31369         * modules/sprintf-posix (Dependencies): Add stdint.
31370         * modules/vsprintf-posix (Dependencies): Likewise.
31371
31372 2007-07-01  Bruno Haible  <bruno@clisp.org>
31373
31374         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
31375         Windows PATH as well. Conservative double-quoting. Comments.
31376
31377 2007-07-01  Bruno Haible  <bruno@clisp.org>
31378             Eric Blake  <ebb9@byu.net>
31379             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31380
31381         * gnulib-tool (self_abspathname): Fix algorithm to cope with
31382         empty components in $PATH, denoting '.'.
31383
31384 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31385
31386         * gnulib-tool: Fix indentation.
31387         (func_create_megatestdir): Likewise.
31388         Report by Bruno Haible.
31389
31390 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31391
31392         Sync from Automake.
31393         * build-aux/gnupload: Fix shell portability issues with for loops.
31394         Report by Karl Berry.
31395
31396 2007-06-29  Simon Josefsson  <simon@josefsson.org>
31397
31398         * build-aux/maint.mk (POURL): Use translationproject.org.
31399
31400 2007-06-27  Simon Josefsson  <simon@josefsson.org>
31401             Bruno Haible  <bruno@clisp.org>
31402
31403         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
31404         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
31405         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
31406         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
31407         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
31408
31409 2007-06-27  Bruno Haible  <bruno@clisp.org>
31410
31411         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
31412         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
31413
31414 2007-06-26  Karl Berry  <karl@gnu.org>
31415
31416         * MODULES.html.sh: remove xreadlink-with-size.
31417
31418 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
31419
31420         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
31421         method that I hope also handles the double-include problem noted
31422         by Bruno Haible in
31423         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
31424
31425 2007-06-23  Bruno Haible  <bruno@clisp.org>
31426
31427         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31428         Don't let the 'mostlyclean' target fail if the last subdirectory could
31429         not be removed.
31430         Reported by Karl Berry.
31431
31432 2007-06-23  Bruno Haible  <bruno@clisp.org>
31433
31434         * gnulib-tool (echo): Add a speedier workaround for ksh.
31435         * tests/test-echo.sh: Likewise.
31436
31437 2007-06-23  Bruno Haible  <bruno@clisp.org>
31438
31439         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
31440         * tests/test-echo.sh: Likewise.
31441
31442 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31443
31444         * gnulib-tool (IFS): Initialize early, so we don't set it to
31445         empty later.
31446         (self_abspathname): Rewrite algorithm to set it, reindent.
31447         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
31448         (func_create_megatestdir): Merge some sed scripts.
31449
31450 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
31451
31452         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
31453         exposed by Sun Studio 11 cc on Solaris 8.
31454
31455 2007-06-22  Bruno Haible  <bruno@clisp.org>
31456
31457         * gnulib-tool (echo): Ensure the echo primitive does not interpret
31458         backslashes.
31459         * tests/test-echo.sh: New file.
31460
31461 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31462
31463         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
31464         simplify `sed_replace_build_aux' scripts, they are portable but
31465         echoing them with `echo' is not.
31466         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
31467
31468 2007-06-21  Karl Berry  <karl@gnu.org>
31469
31470         * config/srclist.txt: guess we can't handle the licenses via
31471         srclist at the moment.
31472
31473 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
31474
31475         * MODULES.html.sh: Add include_next.
31476         * modules/include_next: New file.
31477
31478 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
31479
31480         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
31481         INCLUDE_NEXT.
31482         (gl_CHECK_NEXT_HEADERS): New macro.
31483         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
31484         the obsolescent gl_ABSOLUTE_HEADER.
31485         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
31486         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
31487         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
31488         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31489         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31490         * m4/math_h.m4 (gl_MATH_H): Likewise.
31491         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
31492         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31493         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31494         * m4/stdint.m4 (gl_STDINT_H): Likewise.
31495         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31496         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31497         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31498         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31499         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31500         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31501         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31502         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
31503         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
31504         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31505         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31506         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
31507         * m4/inttypes.m4 (gl_INTTYPES_H): Define
31508         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
31509         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
31510         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
31511         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
31512         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
31513         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
31514         * lib/float_.h: Likewise.
31515         * lib/inttypes_.h: Likewise.
31516         * lib/math_.h: Likewise.
31517         * lib/search_.h: Likewise.
31518         * lib/signal_.h: Likewise.
31519         * lib/stdint_.h: Likewise.
31520         * lib/stdio_.h: Likewise.
31521         * lib/stdlib_.h: Likewise.
31522         * lib/string_.h: Likewise.
31523         * lib/sys_stat_.h: Likewise.
31524         * lib/sys_time_.h: Likewise.
31525         * lib/time_.h: Likewise.
31526         * lib/unistd_.h: Likewise.
31527         * lib/wchar_.h: Likewise.
31528         * lib/wctype_.h: Likewise.
31529         * lib/dirent_.h: Likewise.
31530         * lib/iconv_.h: Likewise.
31531         * lib/locale_.h: Likewise.
31532         * lib/netinet_in_.h: Likewise.
31533         * lib/sys_select_.h: Likewise.
31534         * lib/sys_socket_.h: Likewise.
31535         * lib/sysexits_.h: Likewise.
31536         * modules/fcntl (Depends-on): Depend on include_next, not
31537         absolute_header.
31538         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
31539         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
31540         * modules/fchdir: Likewise.
31541         * modules/float: Likewise.
31542         * modules/iconv_open: Likewise.
31543         * modules/inttypes: Likewise.
31544         * modules/locale: Likewise.
31545         * modules/math: Likewise.
31546         * modules/netinet_in: Likewise.
31547         * modules/search: Likewise.
31548         * modules/signal: Likewise.
31549         * modules/stdint: Likewise.
31550         * modules/stdio: Likewise.
31551         * modules/stdlib: Likewise.
31552         * modules/string: Likewise.
31553         * modules/sys_select: Likewise.
31554         * modules/sys_socket: Likewise.
31555         * modules/sys_stat: Likewise.
31556         * modules/sys_time: Likewise.
31557         * modules/sysexits: Likewise.
31558         * modules/time: Likewise.
31559         * modules/unistd: Likewise.
31560         * modules/wchar: Likewise.
31561         * modules/wctype: Likewise.
31562         * modules/sys_stat: Change maintainer to "all".
31563         * modules/unistd: Likewise.
31564
31565 2007-06-20  Karl Berry  <karl@gnu.org>
31566
31567         * config/srclist.txt: track www changes in license files.
31568
31569 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
31570
31571         * build-aux/bootstrap: Remove stray dot.
31572         Make sure build_aux settings are honored when linking
31573         gnulib_extra_files.
31574
31575 2007-06-19  Eric Blake  <ebb9@byu.net>
31576
31577         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
31578         Allow compilation on cygwin.
31579
31580 2007-06-19  Jim Meyering  <jim@meyering.net>
31581
31582         xreadlink-with-size: Remove module.  No longer used.
31583         Ex-callers now use xreadlink or mreadlink-with-size.
31584         * modules/xreadlink-with-size: Remove module.
31585         * lib/xreadlink-with-size.c: Remove file.
31586         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
31587         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
31588         just before the function definition *is* accurate.
31589
31590         Eliminate one way canonicalize_filename_mode could exit.
31591         * lib/canonicalize.c (canonicalize_filename_mode):
31592         Use mreadlink_with_size, not xreadlink_with_size.
31593
31594 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
31595
31596         Detect porting problems to FreeBSD/arm, which has time_t wider than
31597         long int.  Original problem reported for GNU diff by Xin Li in
31598         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
31599         * modules/getdate (Depends-on): Add intprops, verify.
31600         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
31601         is an integer type no wider than long int.
31602
31603 2007-06-18  Jim Meyering  <jim@meyering.net>
31604
31605         New module: mreadlink-with-size.
31606         * MODULES.html.sh: Add mreadlink-with-size.
31607         * modules/mreadlink-with-size: New module
31608         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
31609         not xreadlink-with-size.
31610         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
31611
31612 2007-06-16  Bruno Haible  <bruno@clisp.org>
31613
31614         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
31615         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
31616         Reported by Gary V. Vaughan <gary@gnu.org>.
31617
31618 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
31619
31620         Revamp lchown so that it lives in unistd.h where it belongs.
31621         * lib/lchown.h: Remove.
31622         * lib/dirchownmod.c: Don't include lib/lchown.h.
31623         * lib/fchownat.c: Likewise.
31624         * lib/openat.c: Likewise.
31625         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
31626         does not follow symlinks.
31627         (EOPNOTSUPP): Define if not defined.
31628         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
31629         is defined to 0.
31630         (lchown): New decl.
31631         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
31632         Do not check for lchown decl.
31633         Set REPLACE_LCHOWN.
31634         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
31635         REPLACE_LCHOWN.
31636         * modules/chown: Make it clear it follows symlinks.
31637         * modules/lchown: Make it clear it doesn't follow symlinks.
31638         (Files): Remove lib/lchown.h
31639         (Depends-on): Add unistd.
31640         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
31641         (Include): Include <unistd.h>, not "lchown.h".
31642         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
31643         REPLACE_LCHOWN.
31644
31645 2007-06-15  Jim Meyering  <jim@meyering.net>
31646
31647         Change license (GPL to LGPL) of fsusage and dependents.
31648         * modules/fsusage (License): Change to LGPL.
31649         * modules/full-read (License): Likewise.
31650         * modules/full-write (License): Likewise.
31651         * modules/safe-read (License): Likewise.
31652         * modules/safe-write (License): Likewise.
31653
31654 2007-06-14  Ben Pfaff  <blp@gnu.org>
31655
31656         Missing part of allocsa -> malloca transition.
31657         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
31658         gl_MALLOCA.
31659
31660 2007-06-12  Bruno Haible  <bruno@clisp.org>
31661
31662         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
31663         to ia64, x86_64, i386.
31664         Reported by Eric Blake.
31665
31666 2007-06-12  Bruno Haible  <bruno@clisp.org>
31667
31668         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
31669         cross-compiling to x86_64.
31670
31671 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
31672
31673         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
31674         glitch reported by Ralf Wildenhues in
31675         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
31676
31677         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
31678         Vin Shelton.
31679
31680 2007-06-11  Bruno Haible  <bruno@clisp.org>
31681
31682         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
31683         replacement string.
31684         Reported by Eric Blake.
31685
31686 2007-06-10  Bruno Haible  <bruno@clisp.org>
31687
31688         Prepare vasnprintf code for use with Unicode strings.
31689         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
31690         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
31691         TYPE_U32_STRING.
31692         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
31693         a_u32_string variants.
31694         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
31695         * lib/printf-args.c: Don't include config.h and the specification
31696         header if PRINTF_FETCHARGS is already defined.
31697         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
31698         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
31699         TYPE_U16_STRING, TYPE_U32_STRING.
31700         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
31701         u16_directive, u16_directives, u32_directive, u32_directives): New
31702         types.
31703         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
31704         New declarations.
31705         * lib/printf-parse.c: Don't include config.h and the specification
31706         header if PRINTF_PARSE is already defined. Eliminate the set of
31707         parameters for WIDE_CHAR_VERSION; the user of this file must provide
31708         them now. Include c-ctype.h.
31709         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
31710         directive and CHAR_T_ONLY_ASCII.
31711         * lib/vasnprintf.c: Don't include config.h and the specification header
31712         if VASNPRINTF is already defined.
31713         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
31714         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
31715         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
31716         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
31717         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
31718         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
31719         code accordingly.
31720         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
31721         pad_ourselves also in this case, with the 'c' and 's' directives, and
31722         with a different notion of "width".
31723         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
31724
31725 2007-06-10  Bruno Haible  <bruno@clisp.org>
31726
31727         * modules/unistr/u32-mbsnlen: New file.
31728         * lib/unistr/u32-mbsnlen.c: New file.
31729
31730         * modules/unistr/u16-mbsnlen: New file.
31731         * lib/unistr/u16-mbsnlen.c: New file.
31732
31733         * modules/unistr/u8-mbsnlen: New file.
31734         * lib/unistr/u8-mbsnlen.c: New file.
31735
31736         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
31737         declarations.
31738
31739 2007-06-10  Bruno Haible  <bruno@clisp.org>
31740
31741         * lib/string_.h (mbsnlen): New declaration.
31742         * lib/mbsnlen.c: New file.
31743         * m4/mbsnlen.m4: New file.
31744         * modules/mbsnlen: New file.
31745         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
31746         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
31747         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
31748
31749 2007-06-10  Bruno Haible  <bruno@clisp.org>
31750
31751         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
31752
31753 2007-06-10  Bruno Haible  <bruno@clisp.org>
31754
31755         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
31756         * lib/mbuiter.h: Likewise.
31757
31758 2007-06-10  Bruno Haible  <bruno@clisp.org>
31759
31760         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
31761         declaration.
31762
31763 2007-06-10  Karl Berry  <karl@gnu.org>
31764
31765         * config/srclist.txt: remove gettext entries, Bruno prefers
31766         to update individually.
31767
31768 2007-06-10  Bruno Haible  <bruno@clisp.org>
31769
31770         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
31771         'maxlen'. Ensure only length + width bytes are allocated, not
31772         length + 1 + width.
31773
31774 2007-06-09  Bruno Haible  <bruno@clisp.org>
31775
31776         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
31777         (CHAR_T): Remove macro.
31778         (VASNPRINTF): Update.
31779
31780 2007-06-09  Bruno Haible  <bruno@clisp.org>
31781
31782         * MODULES.html.sh (Unicode string functions): Add the new modules.
31783
31784         * modules/uniconv/u32-conv-to-enc: New file.
31785         * lib/uniconv/u32-conv-to-enc.c: New file.
31786         * modules/uniconv/u32-conv-to-enc-tests: New file.
31787         * tests/uniconv/test-u32-conv-to-enc.c: New file.
31788
31789         * modules/uniconv/u16-conv-to-enc: New file.
31790         * lib/uniconv/u16-conv-to-enc.c: New file.
31791         * lib/uniconv/u-conv-to-enc.h: New file.
31792         * modules/uniconv/u16-conv-to-enc-tests: New file.
31793         * tests/uniconv/test-u16-conv-to-enc.c: New file.
31794
31795         * modules/uniconv/u8-conv-to-enc: New file.
31796         * lib/uniconv/u8-conv-to-enc.c: New file.
31797         * modules/uniconv/u8-conv-to-enc-tests: New file.
31798         * tests/uniconv/test-u8-conv-to-enc.c: New file.
31799
31800         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
31801         u32_conv_to_encoding): New declarations.
31802
31803 2007-06-09  Bruno Haible  <bruno@clisp.org>
31804
31805         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
31806
31807 2007-06-09  Bruno Haible  <bruno@clisp.org>
31808
31809         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
31810         * modules/malloca: Renamed from modules/allocsa, updated.
31811         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
31812         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
31813         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
31814         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
31815         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
31816         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
31817         * modules/xmalloca: Renamed from modules/xallocsa, updated.
31818         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
31819         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
31820         * modules/c-strcasestr (Depends-on): Update.
31821         * lib/c-strcasestr.c: Update.
31822         * modules/c-strstr (Depends-on): Update.
31823         * lib/c-strstr.c: Update.
31824         * modules/canonicalize-lgpl (Depends-on): Update.
31825         * lib/canonicalize-lgpl.c: Update.
31826         * modules/clean-temp (Depends-on): Update.
31827         * lib/clean-temp.c: Update.
31828         * modules/csharpcomp (Depends-on): Update.
31829         * lib/csharpcomp.c: Update.
31830         * modules/csharpexec (Depends-on): Update.
31831         * lib/csharpexec.c: Update.
31832         * modules/javacomp (Depends-on): Update.
31833         * lib/javacomp.c: Update.
31834         * modules/javaexec (Depends-on): Update.
31835         * lib/javaexec.c: Update.
31836         * modules/mbscasestr (Depends-on): Update.
31837         * lib/mbscasestr.c: Update.
31838         * modules/mbsstr (Depends-on): Update.
31839         * lib/mbsstr.c: Update.
31840         * modules/setenv (Depends-on): Update.
31841         * lib/setenv.c: Update.
31842         * modules/strcasestr (Depends-on): Update.
31843         * lib/strcasestr.c: Update.
31844         * modules/striconveha (Depends-on): Update.
31845         * lib/striconveha.c: Update.
31846         * modules/relocatable-prog-wrapper (Files): Update.
31847         * lib/relocwrapper.c: Update.
31848         * build-aux/install-reloc: Update.
31849         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
31850
31851 2007-06-08  Bruno Haible  <bruno@clisp.org>
31852
31853         Port to uClibc.
31854         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
31855         * lib/fpurge.c (fpurge): Likewise.
31856         * lib/freading.c (freading): Likewise.
31857         * lib/fseeko.c (rpl_fseeko): Likewise.
31858         * lib/fseterr.c (fseterr): Likewise.
31859         * lib/fwriting.c (fwriting): Likewise.
31860         * tests/test-fflush.c (main): Avoid a failure on uClibc.
31861
31862 2007-06-08  Bruno Haible  <bruno@clisp.org>
31863
31864         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
31865         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
31866         * modules/gettext (Files): Add m4/intlmacosx.m4.
31867
31868 2007-06-07  Bruno Haible  <bruno@clisp.org>
31869
31870         * modules/localename-tests: New file.
31871         * tests/test-localename.c: New file.
31872
31873         New module 'localename'.
31874         * lib/localename.h: New file.
31875         * lib/localename.c: New file, from GNU gettext.
31876         * m4/localename.m4: New file.
31877         * modules/localename: New file.
31878
31879 2007-06-07  Bruno Haible  <bruno@clisp.org>
31880
31881         Work around the lack of <wchar.h> on some builds of uClibc.
31882         * doc/headers/wchar.texi: Update.
31883         * lib/wchar_.h: Include <wchar.h> only if it exists.
31884         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
31885         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
31886         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
31887         doesn't exist.
31888         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
31889         * modules/mbfile (Depends-on): Add wchar.
31890         * modules/mbiter (Depends-on): Likewise.
31891         * modules/mbuiter (Depends-on): Likewise.
31892         Reported by Simon Josefsson.
31893
31894 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
31895
31896         Work around problem reported by Steven M. Schweda in
31897         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
31898         Tru64 5.1B with the Compaq compiler environment installed declares
31899         an 'isblank' function but does not define it in the C library.
31900         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
31901         * lib/regex_internal.h (isblank): Likewise.
31902         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
31903         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31904
31905 2007-06-05  Bruno Haible  <bruno@clisp.org>
31906
31907         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
31908         ia64.
31909         * modules/printf-safe: New file.
31910         * modules/fprintf-posix (Depends-on): Add printf-safe.
31911         * modules/printf-posix (Depends-on): Likewise.
31912         * modules/snprintf-posix (Depends-on): Likewise.
31913         * modules/sprintf-posix (Depends-on): Likewise.
31914         * modules/vasnprintf-posix (Depends-on): Likewise.
31915         * modules/vasprintf-posix (Depends-on): Likewise.
31916         * modules/vfprintf-posix (Depends-on): Likewise.
31917         * modules/vprintf-posix (Depends-on): Likewise.
31918         * modules/vsnprintf-posix (Depends-on): Likewise.
31919         * modules/vsprintf-posix (Depends-on): Likewise.
31920         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
31921         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
31922         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
31923         "no" on i386, x86_64, ia64.
31924         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
31925         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31926         on i386, x86_64, ia64.
31927         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
31928         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31929         on i386, x86_64, ia64.
31930         * tests/test-vasnprintf-posix.c: Include float.h.
31931         (LDBL80_WORDS): New macro.
31932         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31933         on i386, x86_64, ia64.
31934         * tests/test-vasprintf-posix.c: Include float.h.
31935         (LDBL80_WORDS): New macro.
31936         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31937         on i386, x86_64, ia64.
31938         * tests/test-snprintf-posix.c: Include float.h.
31939         * tests/test-sprintf-posix.c: Likewise.
31940         * tests/test-vsnprintf-posix.c: Likewise.
31941         * tests/test-vsprintf-posix.c: Likewise.
31942
31943 2007-06-05  Bruno Haible  <bruno@clisp.org>
31944
31945         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
31946         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
31947         non-IEEE numbers on i386, x86_64, ia64.
31948         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
31949         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
31950         * tests/test-isnanl.h: Include float.h.
31951         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
31952
31953 2007-06-05  Bruno Haible  <bruno@clisp.org>
31954
31955         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
31956         also the %a / %A. Handle the %a / %A code before this extra handling.
31957
31958 2007-06-05  Bruno Haible  <bruno@clisp.org>
31959
31960         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
31961         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
31962
31963 2007-06-05  Bruno Haible  <bruno@clisp.org>
31964
31965         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
31966         typo in variable name.
31967
31968 2007-06-05  Eric Blake  <ebb9@byu.net>
31969
31970         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
31971         Reported by Simon Josefsson.
31972
31973 2007-06-04  Bruno Haible  <bruno@clisp.org>
31974
31975         Avoid test failures on some PowerPC platforms.
31976         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
31977         Define differently for PowerPC.
31978         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
31979         Reported by Gary V. Vaughan <gary@gnu.org>.
31980
31981 2007-06-02  Bruno Haible  <bruno@clisp.org>
31982
31983         Fix test-stdint failure on FreeBSD/ia64.
31984         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
31985         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
31986         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
31987         * doc/headers/stdint.texi: Update.
31988
31989 2007-06-01  Bruno Haible  <bruno@clisp.org>
31990
31991         * tests/test-binary-io.c (main): Pass a third argument to open().
31992         Reported by Gary V. Vaughan <gary@gnu.org>.
31993
31994 2007-06-01  Bruno Haible  <bruno@clisp.org>
31995
31996         * doc/functions/frexpl.texi: Update for mingw.
31997
31998 2007-06-01  Bruno Haible  <bruno@clisp.org>
31999
32000         * tests/test-lseek.c (main): Disable test of errno for invalid third
32001         argument.
32002         * doc/functions/lseek.texi: Update.
32003         Reported by Gary V. Vaughan <gary@gnu.org>.
32004
32005 2007-05-28  Bruno Haible  <bruno@clisp.org>
32006
32007         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
32008
32009 2007-05-31  Eric Blake  <ebb9@byu.net>
32010
32011         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
32012         cross compiling.
32013
32014 2007-05-30  Eric Blake  <ebb9@byu.net>
32015         and Bruno Haible  <bruno@clisp.org>
32016
32017         Work around mingw test failures exposed by m4-1.4.9b.
32018         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
32019         * tests/test-unistd.c: Disable uid_t and git_t tests for the
32020         moment.
32021
32022 2007-05-30  Bruno Haible  <bruno@clisp.org>
32023
32024         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
32025         assuming that they are closed. Needed on HP-UX 11.
32026
32027 2007-05-29  Bruno Haible  <bruno@clisp.org>
32028
32029         Fix a problem with #include_next.
32030         * lib/dirent_.h: Split the double-inclusion guard.
32031         * lib/fcntl_.h: Likewise.
32032         * lib/float_.h: Likewise.
32033         * lib/iconv_.h: Likewise.
32034         * lib/inttypes_.h: Likewise.
32035         * lib/locale_.h: Likewise.
32036         * lib/math_.h: Likewise.
32037         * lib/netinet_in_.h: Likewise.
32038         * lib/search_.h: Likewise.
32039         * lib/signal_.h: Likewise.
32040         * lib/stdint_.h: Likewise.
32041         * lib/stdio_.h: Likewise.
32042         * lib/stdlib_.h: Likewise.
32043         * lib/string_.h: Likewise.
32044         * lib/sys_select_.h: Likewise.
32045         * lib/sys_socket_.h: Likewise.
32046         * lib/sys_stat_.h: Likewise.
32047         * lib/sys_time_.h: Likewise.
32048         * lib/sysexits_.h: Likewise.
32049         * lib/time_.h: Likewise.
32050         * lib/unistd_.h: Likewise.
32051         * lib/wchar_.h: Likewise.
32052         * lib/wctype_.h: Likewise.
32053
32054 2007-05-29  Bruno Haible  <bruno@clisp.org>
32055
32056         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
32057         for the moment.
32058
32059 2007-05-29  Bruno Haible  <bruno@clisp.org>
32060
32061         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
32062         invocation.
32063         Reported by Eric Blake.
32064
32065 2007-05-29  Bruno Haible  <bruno@clisp.org>
32066
32067         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
32068         compiling case.
32069
32070 2007-05-29  Eric Blake  <ebb9@byu.net>
32071             Bruno Haible  <bruno@clisp.org>
32072
32073         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
32074         cross compiles.
32075
32076 2007-05-28  Eric Blake  <ebb9@byu.net>
32077
32078         * modules/closein-tests (test_closein_LDADD): Support test on
32079         cygwin with libtool.
32080
32081 2007-05-28  Bruno Haible  <bruno@clisp.org>
32082
32083         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
32084         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32085         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32086         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32087         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32088         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32089         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32090         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32091         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32092
32093 2007-05-28  Eric Blake  <ebb9@byu.net>
32094
32095         Unconditionally include <config.h> in unit tests.
32096         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
32097         * tests/test-allocsa.c, tests/test-arcfour.c,
32098         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
32099         tests/test-array_list.c, tests/test-array_oset.c,
32100         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
32101         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
32102         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
32103         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
32104         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
32105         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
32106         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
32107         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
32108         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
32109         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
32110         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
32111         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
32112         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
32113         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
32114         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
32115         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
32116         test-md5.c, test-memmem.c, test-printf-posix.c,
32117         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
32118         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
32119         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
32120         test-strcasestr.c, test-striconv.c, test-striconveh.c,
32121         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
32122         test-vasnprintf-posix2.c, test-vasnprintf.c,
32123         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
32124         test-vfprintf-posix.c, test-vprintf-posix.c,
32125         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
32126         test-xvasprintf.c: Likewise.
32127
32128 2007-05-28  Bruno Haible  <bruno@clisp.org>
32129
32130         * gnulib-tool (func_import): Remember the --with-tests command-line
32131         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
32132         Reported by Eric Blake.
32133
32134 2007-05-28  Bruno Haible  <bruno@clisp.org>
32135
32136         * modules/ftell-tests: New file.
32137         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
32138         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
32139
32140         * lib/ftell.c: New file.
32141         * modules/ftell: New file.
32142         * m4/ftell.m4: New file.
32143         * doc/functions/ftell.texi: Update.
32144         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
32145         REPLACE_FTELL.
32146         * lib/stdio_.h (rpl_ftell): New declaration.
32147         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
32148         REPLACE_FTELL.
32149
32150 2007-05-28  Eric Blake  <ebb9@byu.net>
32151
32152         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
32153
32154 2007-05-28  Bruno Haible  <bruno@clisp.org>
32155
32156         * modules/fseek-tests: New file.
32157         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
32158         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
32159
32160         * lib/fseek.c: New file.
32161         * modules/fseek: New file.
32162         * m4/fseek.m4: New file.
32163         * doc/functions/fseek.texi: Update.
32164         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
32165         REPLACE_FSEEK.
32166         * lib/stdio_.h (rpl_fseek): New declaration.
32167         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
32168         REPLACE_FSEEK.
32169
32170 2007-05-28  Bruno Haible  <bruno@clisp.org>
32171
32172         * lib/stdio_.h (fflush): More comments.
32173
32174 2007-05-28  Bruno Haible  <bruno@clisp.org>
32175
32176         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
32177         runtime test.
32178
32179 2007-05-28  Eric Blake  <ebb9@byu.net>
32180
32181         Improve lseek module.
32182         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
32183         * lib/unistd_.h (lseek): Scale back link warning message.
32184         * tests/test-lseek.c: Beef up test.
32185         * tests/test-lseek.sh: Exercise more facets of lseek.
32186         Reported by Bruno Haible.
32187
32188 2007-05-28  Bruno Haible  <bruno@clisp.org>
32189
32190         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
32191         to define.
32192
32193 2007-05-27  Bruno Haible  <bruno@clisp.org>
32194
32195         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
32196
32197 2007-05-27  Bruno Haible  <bruno@clisp.org>
32198
32199         * modules/openmp: New file.
32200         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
32201         Noah Misch.
32202
32203 2007-05-26  Bruno Haible  <bruno@clisp.org>
32204
32205         * modules/chdir-long (Depends-on): Add fchdir.
32206         * modules/chdir-safer (Depends-on): Likewise.
32207         * modules/fts (Depends-on): Likewise.
32208         * modules/fts-lgpl (Depends-on): Likewise.
32209         * modules/openat (Depends-on): Likewise.
32210         * modules/savewd (Depends-on): Likewise.
32211
32212 2007-05-24  Eric Blake  <ebb9@byu.net>
32213
32214         Fix lseek on mingw.
32215         * modules/lseek: New module.
32216         * m4/lseek.m4: New file.
32217         * lib/lseek.c: New file.
32218         * modules/lseek-tests: New file.
32219         * tests/test-lseek.c: New file.
32220         * tests/test-lseek.sh: New file.
32221         * MODULES.html.sh: Document lseek module.
32222         * modules/fflush (Depends-on): Add lseek, fseeko.
32223         * modules/fseeko (Depends-on): Likewise.
32224         * modules/ftello (Depends-on): Likewise.
32225         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
32226         broken.
32227         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
32228         broken.
32229         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
32230         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
32231         * lib/ftello.c (rpl_ftello): Likewise.
32232         * tests/test-fseeko.c (main): Test this.
32233         * tests/test-fseeko.sh: Likewise.
32234         * tests/test-ftello.c (main): Likewise.
32235         * tests/test-ftello.sh: Likewise.
32236         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
32237         implies replacing fseek.
32238         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
32239         HAVE_FTELLO.
32240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
32241         * modules/unistd (Makefile.am): Likewise.
32242         * lib/unistd_.h (lseek): Declare a replacement.
32243         * doc/functions/lseek.texi (lseek): Document this fix.
32244         * doc/functions/fseek.texi (fseek): Likewise.
32245         * doc/functions/ftell.texi (ftell): Likewise.
32246
32247 2007-05-24  Bruno Haible  <bruno@clisp.org>
32248
32249         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
32250         in the printed representation of a NaN.
32251         * tests/test-vasprintf-posix.c (test_function): Likewise.
32252         * tests/test-snprintf-posix.h (test_function): Likewise.
32253         * tests/test-sprintf-posix.h (test_function): Likewise.
32254         Reported by Eric Blake.
32255
32256 2007-05-23  Eric Blake  <ebb9@byu.net>
32257
32258         Fix fseeko/ftello on cygwin 1.5.24.
32259         * doc/functions/fseeko.texi (fseeko): Document the fix.
32260         * doc/functions/ftello.texi (ftello): Document the fix.
32261         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
32262         * doc/functions/stdout.text (stdout): New file.
32263         * doc/functions/stderr.text (stderr): New file.
32264         * doc/gnulib.texi (Function Substitutes): Use new files.
32265         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
32266         prior to 1.7.0.
32267         * tests/test-ftello.c (main): Likewise for ftello.
32268         * tests/test-fseeko.sh: New file.
32269         * tests/test-ftello.sh: New file.
32270         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
32271         with seekable stdin.
32272         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
32273         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
32274         (gl_REPLACE_FSEEKO): New macro.
32275         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
32276         * modules/fseeko (Files): Distribute fseeko.c.
32277         * modules/ftello (Files): Distribute ftello.c.
32278         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
32279         mode.
32280         * lib/ftello.c (rpl_ftello): New file.
32281         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
32282         fseeko, ftello.
32283         (gl_STDIN_LARGE_OFFSET): New macro.
32284         * modules/stdio (Makefile.am): Perform the replacement.
32285         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
32286
32287 2007-05-23  Bruno Haible  <bruno@clisp.org>
32288
32289         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
32290         GNULIB_POSIXCHECK is defined.
32291
32292 2007-05-21  Bruno Haible  <bruno@clisp.org>
32293
32294         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
32295         Check also the output for NaN arguments. When cross-compiling, guess
32296         no on IRIX.
32297         * lib/vasnprintf.c: Update comments.
32298         * tests/test-vasnprintf-posix.c (strisnan): New function.
32299         (test_function): Use it.
32300         * tests/test-vasprintf-posix.c (strisnan): New function.
32301         (test_function): Use it.
32302         * tests/test-snprintf-posix.h (strisnan): New function.
32303         (test_function): Use it.
32304         * tests/test-sprintf-posix.h (strisnan): New function.
32305         (test_function): Use it.
32306         Reported by Eric Blake.
32307
32308 2007-05-20  Bruno Haible  <bruno@clisp.org>
32309
32310         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
32311         numbers that fails on BeOS.
32312         * doc/functions/frexpl.texi: Update.
32313
32314 2007-05-20  Jim Meyering  <jim@meyering.net>
32315
32316         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
32317         forced upon us by glibc-2.6.
32318
32319 2007-05-20  Bruno Haible  <bruno@clisp.org>
32320
32321         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
32322         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
32323         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
32324         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
32325         NEED_PRINTF_INFINITE.
32326         (is_infinitel): New function.
32327         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
32328         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
32329         gl_PREREQ_VASNPRINTF_INFINITE.
32330         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
32331         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32332         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
32333         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
32334         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
32335         gl_PREREQ_VASNPRINTF_INFINITE.
32336         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32337         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32338         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32339         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32340         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32341         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32342         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32343         * doc/functions/fprintf.texi: Update.
32344         * doc/functions/printf.texi: Update.
32345         * doc/functions/snprintf.texi: Update.
32346         * doc/functions/sprintf.texi: Update.
32347         * doc/functions/vfprintf.texi: Update.
32348         * doc/functions/vprintf.texi: Update.
32349         * doc/functions/vsnprintf.texi: Update.
32350         * doc/functions/vsprintf.texi: Update.
32351
32352 2007-05-20  Bruno Haible  <bruno@clisp.org>
32353
32354         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
32355         was not found in libc.
32356         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32357
32358 2007-05-20  Bruno Haible  <bruno@clisp.org>
32359
32360         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
32361         printed as "-nan" instead of "nan".
32362         * tests/test-vasprintf-posix.c (test_function): Likewise.
32363         * tests/test-snprintf-posix.h (test_function): Likewise.
32364         * tests/test-sprintf-posix.h (test_function): Likewise.
32365         Needed for HP-UX 11.
32366
32367 2007-05-20  Jim Meyering  <jim@meyering.net>
32368
32369         Fix buggy test for the fchownat-deref bug.
32370         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
32371         symlink required for the run-test.  Without it, this test would
32372         always declare that fchownat doesn't work, and client code would
32373         unnecessarily use the replacement function with fixed libc.
32374         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
32375         Reported by Greg Schafer.
32376
32377 2007-05-19  Bruno Haible  <bruno@clisp.org>
32378
32379         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
32380         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
32381         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
32382         Needed for IRIX 6.5 and Solaris 2.5.1.
32383
32384 2007-05-19  Bruno Haible  <bruno@clisp.org>
32385
32386         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
32387         (test_function): Skip tests involving -0.0 on platforms where
32388         -0.0 = 0.0.
32389         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
32390         (test_function): Skip tests involving -0.0 on platforms where
32391         -0.0 = 0.0.
32392         * tests/test-snprintf-posix.h (have_minus_zero): New function.
32393         (test_function): Skip tests involving -0.0 on platforms where
32394         -0.0 = 0.0.
32395         * tests/test-sprintf-posix.h (have_minus_zero): New function.
32396         (test_function): Skip tests involving -0.0 on platforms where
32397         -0.0 = 0.0.
32398         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
32399         tests.
32400         * tests/test-printf-posix.h (test_function): Likewise.
32401         * tests/test-printf-posix.output: Remove all -0.0 related results.
32402         Needed for IRIX 6.5.
32403
32404 2007-05-19  Bruno Haible  <bruno@clisp.org>
32405
32406         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
32407         printed as "nan0x7fffffff" instead of "nan".
32408         * tests/test-vasprintf-posix.c (test_function): Likewise.
32409         * tests/test-snprintf-posix.h (test_function): Likewise.
32410         * tests/test-sprintf-posix.h (test_function): Likewise.
32411         * tests/test-fprintf-posix.h (NaN): Remove macro.
32412         (test_function): Remove all NaN related tests.
32413         * tests/test-printf-posix.h (NaN): Remove macro.
32414         (test_function): Remove all NaN related tests.
32415         * tests/test-printf-posix.output: Remove all NaN related results.
32416         Needed for IRIX 6.5.
32417
32418 2007-05-19  Bruno Haible  <bruno@clisp.org>
32419
32420         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
32421         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
32422
32423 2007-05-19  Bruno Haible  <bruno@clisp.org>
32424
32425         * lib/float_.h: New file.
32426         * m4/float_h.m4: New file.
32427         * modules/float: New file.
32428         * modules/isnanl (Dependencies): Add float.
32429         * modules/isnanl-nolibm (Dependencies): Likewise.
32430         * modules/mathl (Dependencies): Likewise.
32431         * modules/printf-frexpl (Dependencies): Likewise.
32432         * modules/signbit (Dependencies): Likewise.
32433         * modules/vasnprintf (Dependencies): Likewise.
32434         * doc/headers/float.texi: Update.
32435
32436 2007-05-19  Jim Meyering  <jim@meyering.net>
32437
32438         * lib/utimens.c (gl_futimens): Rename from futimens,
32439         now that glibc-2.6 declares futimens.
32440         * lib/utimens.h: Likewise.
32441
32442 2007-05-19  Bruno Haible  <bruno@clisp.org>
32443
32444         Avoid test failures on mingw.
32445         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
32446         * tests/test-printf-posix.sh: Likewise.
32447         * tests/test-vfprintf-posix.sh: Likewise.
32448         * tests/test-vprintf-posix.sh: Likewise.
32449
32450 2007-05-19  Bruno Haible  <bruno@clisp.org>
32451
32452         Fix *printf result for NaN, Inf, -0.0 on mingw.
32453         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
32454         * lib/vasnprintf.c: Include math.h and isnan.h.
32455         (is_infinite_or_zero): New function.
32456         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
32457         values in the %f, %F, %e, %E, %g, %G directives.
32458         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
32459         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32460         gl_PRINTF_INFINITE and test its result. Invoke
32461         gl_PREREQ_VASNPRINTF_INFINITE.
32462         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32463         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32464         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32465         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32466         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32467         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32468         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32469         * doc/functions/fprintf.texi: Update.
32470         * doc/functions/printf.texi: Update.
32471         * doc/functions/snprintf.texi: Update.
32472         * doc/functions/sprintf.texi: Update.
32473         * doc/functions/vfprintf.texi: Update.
32474         * doc/functions/vprintf.texi: Update.
32475         * doc/functions/vsnprintf.texi: Update.
32476         * doc/functions/vsprintf.texi: Update.
32477
32478 2007-05-19  Bruno Haible  <bruno@clisp.org>
32479
32480         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
32481         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
32482         Instead of multiplying with 10^k, set extra_zeroes to k.
32483         (scale10_round_long_double): Remove function.
32484
32485 2007-05-18  Bruno Haible  <bruno@clisp.org>
32486
32487         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
32488         introduced on 2007-05-06.
32489
32490 2007-05-18  Bruno Haible  <bruno@clisp.org>
32491
32492         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
32493         %g directives.
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
32498 2007-05-18  Bruno Haible  <bruno@clisp.org>
32499
32500         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
32501         (strmatch): New function.
32502         (test_function): Test the %f directive on numbers of various exponents.
32503         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
32504         (strmatch): New function.
32505         (test_function): Test the %f directive on numbers of various exponents.
32506         * tests/test-snprintf-posix.h (strmatch): New function.
32507         (test_function): Test the %f directive on numbers of various exponents.
32508         * tests/test-sprintf-posix.h (strmatch): New function.
32509         (test_function): Test the %f directive on numbers of various exponents.
32510         * tests/test-snprintf-posix.c (SIZEOF): New macro.
32511         * tests/test-sprintf-posix.c (SIZEOF): New macro.
32512         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
32513         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
32514
32515 2007-05-18  Bruno Haible  <bruno@clisp.org>
32516
32517         Add support for 'long double' number output.
32518         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
32519         * lib/vasnprintf.c: Include math.h and float+.h.
32520         (mp_limb_t): New type.
32521         (GMP_LIMB_BITS): New macro.
32522         (mp_twolimb_t): New type.
32523         (GMP_TWOLIMB_BITS): New macro.
32524         (mpn_t): New type.
32525         (multiply, divide, convert_to_decimal, decode_long_double,
32526         scale10_round_long_double, scale10_round_decimal_long_double,
32527         floorlog10l): New functions.
32528         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
32529         for the %f, %F, %e, %E, %g, %G directives.
32530         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
32531         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32532         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
32533         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
32534         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32535         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32536         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32537         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32538         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32539         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32540         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32541         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
32542         * modules/snprintf-posix (Depends-on): Likewise.
32543         * modules/sprintf-posix (Depends-on): Likewise.
32544         * modules/vasnprintf-posix (Depends-on): Likewise.
32545         * modules/vasprintf-posix (Depends-on): Likewise.
32546         * modules/vfprintf-posix (Depends-on): Likewise.
32547         * modules/vsnprintf-posix (Depends-on): Likewise.
32548         * modules/vsprintf-posix (Depends-on): Likewise.
32549         * modules/vasnprintf (Files): Add lib/float+.h.
32550         * doc/functions/fprintf.texi: Update.
32551         * doc/functions/printf.texi: Update.
32552         * doc/functions/snprintf.texi: Update.
32553         * doc/functions/sprintf.texi: Update.
32554         * doc/functions/vfprintf.texi: Update.
32555         * doc/functions/vprintf.texi: Update.
32556         * doc/functions/vsnprintf.texi: Update.
32557         * doc/functions/vsprintf.texi: Update.
32558
32559 2007-05-18  Bruno Haible  <bruno@clisp.org>
32560
32561         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
32562
32563 2007-05-18  Bruno Haible  <bruno@clisp.org>
32564
32565         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
32566         for printing 64-bit integers. Needed for mingw.
32567
32568 2007-05-18  Bruno Haible  <bruno@clisp.org>
32569
32570         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
32571         gl_FUNC_FREXPL_WORKS.
32572         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
32573
32574 2007-05-18  Bruno Haible  <bruno@clisp.org>
32575
32576         * modules/frexpl-nolibm-tests: New file.
32577
32578         * modules/frexpl-nolibm: New file.
32579         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
32580
32581 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
32582
32583         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
32584         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32585         GCC 4.2, which otherwise issues a lot of warnings.
32586         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
32587         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
32588         Likewise.
32589         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
32590         * modules/iconv_open (iconv.h): Likewise.
32591         * modules/locale (locale.h): Likewise.
32592         * modules/netinet_in (netinet/in.h): Likewise.
32593         * modules/sys_select (sys_select.h): Likewise.
32594         * modules/sys_socket (sys/socket.h): Likewise.
32595         * modules/sys_stat (sys/stat.h): Likewise.
32596         * modules/sysexits (sysexits.h): Likewise.
32597         * modules/unistd (unistd.h): Likewise.
32598
32599 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32600
32601         * modules/closein-tests (Makefile.am): Distribute
32602         `test-closein.sh'.
32603
32604 2007-05-17  Bruno Haible  <bruno@clisp.org>
32605
32606         * tests/test-printf-posix.output: Renamed from
32607         tests/test-fprintf-posix.out.
32608         * modules/fprintf-posix-tests: Update.
32609         * modules/printf-posix-tests: Update.
32610         * modules/vfprintf-posix-tests: Update.
32611         * modules/vprintf-posix-tests: Update.
32612         * tests/test-fprintf-posix.sh: Update.
32613         * tests/test-printf-posix.sh: Update.
32614         * tests/test-vfprintf-posix.sh: Update.
32615         * tests/test-vprintf-posix.sh: Update.
32616         Reported by Ralf Wildenhues.
32617
32618 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
32619
32620         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
32621         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32622         GCC 4.2, which otherwise issues a lot of warnings.
32623         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
32624         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
32625         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
32626         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
32627         it should no longer be needed.
32628         * lib/string_.h: Likewise.
32629         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
32630         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
32631         * modules/inttypes (inttypes.h): Likewise.
32632         * modules/math (math.h): Likewise.
32633         * modules/search (search.h): Likewise.
32634         * modules/signal (signal.h): Likewise.
32635         * modules/stdint (stdint.h): Likewise.
32636         * modules/stdio (stdio.h): Likewise.
32637         * modules/stdlib (stdlib.h): Likewise.
32638         * modules/string (string.h): Likewise.
32639         * modules/sys_time (sys/time.h): Likewise.
32640         * modules/time (time.h): Likewise.
32641         * modules/wchar (wchar.h): Likewise.
32642         * modules/wctype (wtype.h): Likewise.
32643
32644 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32645
32646         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
32647
32648 2007-05-13  Bruno Haible  <bruno@clisp.org>
32649
32650         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
32651         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
32652         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
32653         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
32654         (gl_PREREQ_STRTOK_R): Don't require it here.
32655
32656 2007-05-13  Bruno Haible  <bruno@clisp.org>
32657
32658         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
32659         when used in C++ mode.
32660
32661 2007-05-12  Bruno Haible  <bruno@clisp.org>
32662
32663         * lib/linebuffer.h: Tweak doc.
32664         * lib/linebuffer.c: Likewise.
32665
32666 2007-05-12  James Youngman  <jay@gnu.org>
32667
32668         * lib/linebuffer.c (readlinebuffer_delim): New function,
32669         like readlinebuffer, but use a caller-specified delimiter.
32670         (readlinebuffer): Just call readlinebuffer_delim with '\n'
32671         as the delimiter.
32672         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
32673
32674 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32675
32676         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
32677         * modules/openat (Files): Remove openat-die.c.
32678         (Depends-on): Add openat-die.
32679         * modules/openat-die: New module.
32680
32681 2007-05-06  Bruno Haible  <bruno@clisp.org>
32682
32683         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
32684         Update with info about Cygwin.
32685         * doc/functions/fprintf.texi: Update.
32686         * doc/functions/printf.texi: Update.
32687         * doc/functions/snprintf.texi: Update.
32688         * doc/functions/sprintf.texi: Update.
32689         * doc/functions/vfprintf.texi: Update.
32690         * doc/functions/vprintf.texi: Update.
32691         * doc/functions/vsnprintf.texi: Update.
32692         * doc/functions/vsprintf.texi: Update.
32693         Reported by Eric Blake.
32694
32695 2007-05-06  Bruno Haible  <bruno@clisp.org>
32696
32697         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
32698         padding ourselves for the floating-point directives.
32699         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
32700         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
32701         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32702         gl_PRINTF_FLAG_ZERO and test its result. Invoke
32703         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
32704         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32705         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
32706         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32707         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32708         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32709         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32710         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32711         * tests/test-snprintf-posix.h (test_function): Also check the width
32712         and some flags in the %f directive.
32713         * tests/test-sprintf-posix.h (test_function): Likewise.
32714         * tests/test-vasnprintf-posix.c (test_function): Likewise.
32715         * tests/test-vasprintf-posix.c (test_function): Likewise.
32716         * doc/functions/fprintf.texi: Update.
32717         * doc/functions/printf.texi: Update.
32718         * doc/functions/snprintf.texi: Update.
32719         * doc/functions/sprintf.texi: Update.
32720         * doc/functions/vfprintf.texi: Update.
32721         * doc/functions/vprintf.texi: Update.
32722         * doc/functions/vsnprintf.texi: Update.
32723         * doc/functions/vsprintf.texi: Update.
32724
32725 2007-05-06  Bruno Haible  <bruno@clisp.org>
32726
32727         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
32728         pass the ' flag character to sprintf or snprintf.
32729         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
32730         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
32731         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32732         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
32733         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
32734         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32735         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
32736         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32737         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32738         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32739         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32740         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32741         * tests/test-snprintf-posix.h (test_function): Also check the grouping
32742         flag.
32743         * tests/test-sprintf-posix.h (test_function): Likewise.
32744         * tests/test-vasnprintf-posix.c (test_function): Likewise.
32745         * tests/test-vasprintf-posix.c (test_function): Likewise.
32746         * doc/functions/fprintf.texi: Update.
32747         * doc/functions/printf.texi: Update.
32748         * doc/functions/snprintf.texi: Update.
32749         * doc/functions/sprintf.texi: Update.
32750         * doc/functions/vfprintf.texi: Update.
32751         * doc/functions/vprintf.texi: Update.
32752         * doc/functions/vsnprintf.texi: Update.
32753         * doc/functions/vsprintf.texi: Update.
32754
32755 2007-05-01  Bruno Haible  <bruno@clisp.org>
32756
32757         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
32758
32759 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
32760
32761         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
32762         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
32763
32764 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
32765
32766         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
32767         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
32768         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
32769
32770 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
32771
32772         * lib/argp-help.c (struct hol_entry): New member `ord'.
32773         (HOL_ENTRY_PTRCMP): Use ord for comparison
32774         (hol_sort): Initialize ord.
32775
32776 2007-05-01  Bruno Haible  <bruno@clisp.org>
32777
32778         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
32779         Reported by Eric Blake.
32780         * doc/gnulib.texi (Function Substitutes): Update.
32781
32782 2007-05-01  Bruno Haible  <bruno@clisp.org>
32783
32784         * doc/functions.texi: Remove file, now redundant through
32785         doc/functions/*.texi.
32786
32787 2007-05-01  Bruno Haible  <bruno@clisp.org>
32788
32789         * modules/argp (Depends-on): Add sleep.
32790
32791 2007-05-01  Bruno Haible  <bruno@clisp.org>
32792
32793         * modules/sleep-tests: New file.
32794         * tests/test-sleep.c: New file.
32795
32796         * modules/sleep: New file.
32797         * lib/sleep.c: New file.
32798         * m4/sleep.m4: New file.
32799         * lib/unistd_.h (sleep): New declaration.
32800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
32801         HAVE_SLEEP.
32802         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
32803         * doc/functions/sleep.texi: Document the sleep module.
32804
32805 2007-05-01  Bruno Haible  <bruno@clisp.org>
32806
32807         * lib/sigprocmask.h: Remove file.
32808         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
32809         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
32810         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
32811         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
32812         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
32813         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
32814         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
32815         HAVE_SIGSET_T as a shell variable.
32816         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
32817         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
32818         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
32819         (Depends-on): Add signal. Remove verify.
32820         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
32821         (Include): Mention <signal.h> instead of sigprocmask.h.
32822         * NEWS: Mention the change.
32823         * lib/fatal-signal.c: Don't include sigprocmask.h.
32824
32825 2007-05-01  Bruno Haible  <bruno@clisp.org>
32826
32827         * modules/signal: New file.
32828         * lib/signal_.h: New file.
32829         * m4/signal_h.m4: New file.
32830
32831 2007-05-01  Bruno Haible  <bruno@clisp.org>
32832
32833         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
32834         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
32835         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
32836         HAVE_WCTYPE_CTMP_BUG into wctype.h.
32837
32838 2007-05-01  Bruno Haible  <bruno@clisp.org>
32839
32840         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
32841         configure time.
32842         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
32843         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
32844         * modules/sys_stat (Makefile.am): Substitute their values into
32845         sys/stat.h.
32846
32847 2007-05-01  Bruno Haible  <bruno@clisp.org>
32848
32849         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
32850         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
32851         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
32852
32853 2007-05-01  Bruno Haible  <bruno@clisp.org>
32854
32855         * doc/header/assert.texi: Undo last change: don't mention the gnulib
32856         'assert' module here.
32857
32858 2007-05-01  Bruno Haible  <bruno@clisp.org>
32859
32860         * doc/functions/*.texi: New files.
32861         * doc/functions/google-ranking.txt: New file.
32862         * doc/gnulib.texi (Function Substitutes): New chapter.
32863         (ctime, inet_ntoa): Remove sections.
32864         * doc/ctime.texi: Remove file.
32865         * doc/inet_ntoa.texi: Remove file.
32866         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
32867         dependencies.
32868         (%.info): New rule, specifying a --reference-limit.
32869
32870 2007-05-01  Bruno Haible  <bruno@clisp.org>
32871
32872         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
32873
32874 2007-05-01  Bruno Haible  <bruno@clisp.org>
32875
32876         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
32877         the portability of 'mkdir' to mingw systems.
32878
32879 2007-05-01  Bruno Haible  <bruno@clisp.org>
32880
32881         * doc/headers/google-ranking.txt: New file.
32882
32883 2007-04-30  Eric Blake  <ebb9@byu.net>
32884
32885         Prefer fseeko to fseek.
32886         * modules/getpass (Depends-on): Add fseeko.
32887         * lib/getpass.c (getpass): Use fseeko, not fseek.
32888
32889 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
32890
32891         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
32892         assumes the sorting is stable, while most qsort implementations
32893         are not.  Use argument addresses to ensure they never compare as
32894         equal.
32895
32896         * tests/test-argp-2.sh (usage-indent test): Fix output
32897         (func_compare): Restore diff options
32898         * tests/test-argp.c: Restore #include "progname.h"
32899
32900 2007-04-29  Bruno Haible  <bruno@clisp.org>
32901
32902         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
32903         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32904         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
32905         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32906         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
32907         (configure.ac): Define CHECK_SNPRINTF_POSIX.
32908         (TESTS, check_PROGRAMS): Add test-snprintf.
32909         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
32910         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
32911         (TESTS, check_PROGRAMS): Add test-vsnprintf.
32912         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
32913         assertions that fail on HP-UX, OSF/1, or IRIX.
32914         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
32915
32916 2007-04-29  Bruno Haible  <bruno@clisp.org>
32917
32918         * MODULES.html.sh (posix_functions): Remove 'contents'.
32919
32920 2007-04-29  Karl Berry  <karl@gnu.org>
32921
32922         * config/srclist.txt (gendocs_template_min): new entry.
32923
32924 2007-04-29  Bruno Haible  <bruno@clisp.org>
32925
32926         Work around fpurge bug on BSD systems.
32927         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
32928         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
32929         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
32930         fpurge to rpl_fpurge if the system already has this function.
32931         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
32932         the case where the system already has this function. Correct invariants
32933         on BSD systems.
32934         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
32935         BSD systems.
32936
32937 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
32938
32939         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
32940         proposed by Sven Verdoolaege.
32941
32942         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
32943         options.
32944         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
32945         (usage and help tests): Update
32946
32947 2007-04-29  Bruno Haible  <bruno@clisp.org>
32948
32949         * tests/test-fflush.c (main): Use a file of size 17, not 10.
32950         Print more information in case of failure. Disable a test on BeOS.
32951
32952 2007-04-29  Bruno Haible  <bruno@clisp.org>
32953
32954         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
32955         This helps debugging on systems on which no gdb is available.
32956
32957 2007-04-29  Bruno Haible  <bruno@clisp.org>
32958
32959         * lib/freading.h: Improve comments.
32960         * lib/fwriting.h: Likewise.
32961         * tests/test-freading.c (main): Don't check freading immediately after
32962         repositioning. Needed for glibc.
32963
32964 2007-04-29  Bruno Haible  <bruno@clisp.org>
32965
32966         * lib/freading.c (freading): Trivial simplification.
32967
32968 2007-04-28  Bruno Haible  <bruno@clisp.org>
32969
32970         * tests/test-fwriting.c (main): Also test the interaction between
32971         fflush and fwriting.
32972         * modules/fwriting-tests (Depends-on): Add fflush.
32973
32974         * tests/test-freading.c (main): Also test the interaction between
32975         fflush and freading.
32976         * modules/freading-tests (Depends-on): Add fflush.
32977
32978 2007-04-28  Bruno Haible  <bruno@clisp.org>
32979
32980         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
32981         fseeko and ftello.
32982         Suggested by Eric Blake.
32983
32984 2007-04-28  Jim Meyering  <jim@meyering.net>
32985
32986         Avoid false-negative in gl_STDINT_H's C99 conformance test.
32987         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
32988         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
32989
32990 2007-04-27  Eric Blake  <ebb9@byu.net>
32991
32992         * doc/headers/assert.texi (assert.h): Document assert module use.
32993
32994 2007-04-27  Bruno Haible  <bruno@clisp.org>
32995
32996         * doc/headers/*.texi: New files.
32997         * doc/gnulib.texi (Header File Substitutes): New chapter.
32998         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
32999         dependencies.
33000         (standards.info ,standards.html, standards.dvi): Update dependencies.
33001         (mostlyclean, clean): New targets.
33002
33003 2007-04-27  Bruno Haible  <bruno@clisp.org>
33004
33005         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
33006         * modules/sysexits (Files, Makefile.am): Update.
33007
33008         * lib/sys_socket_.h: Renamed from lib/socket_.h.
33009         * modules/sys_socket (Files, Makefile.am): Update.
33010
33011         * lib/sys_stat_.h: Renamed from lib/stat_.h.
33012         * modules/sys_stat (Files, Makefile.am): Update.
33013
33014 2007-04-27  Eric Blake  <ebb9@byu.net>
33015
33016         * lib/freading.h: Improve comments.
33017         * lib/fwriting.h: Likewise.
33018         * lib/fflush.c: Likewise.
33019
33020         Fix closein for mingw.
33021         * modules/closein-tests: Add tests for closein.
33022         * tests/test-closein.c: New file.
33023         * tests/test-closein.sh: Likewise.
33024         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
33025         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
33026
33027 2007-04-27  Bruno Haible  <bruno@clisp.org>
33028
33029         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
33030         version is < 6.
33031         * lib/math_.h [__DECC]: Likewise.
33032         * lib/stdio_.h [__DECC]: Likewise.
33033         * lib/stdlib_.h [__DECC]: Likewise.
33034         * lib/string_.h [__DECC]: Likewise.
33035         * lib/time_.h [__DECC]: Likewise.
33036         * lib/wchar_.h [__DECC]: Likewise.
33037         * lib/wctype_.h [__DECC]: Likewise.
33038
33039 2007-04-27  Bruno Haible  <bruno@clisp.org>
33040
33041         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
33042
33043 2007-04-27  Bruno Haible  <bruno@clisp.org>
33044
33045         * lib/fflush.c: Add comments.
33046         * modules/fpurge-tests (Depends-on): Add fflush.
33047         * modules/freadable-tests (Depends-on): Likewise.
33048         * modules/fwritable-tests (Depends-on): Likewise.
33049
33050 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
33051
33052         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
33053         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
33054         Report by Bruno Haible <bruno@clisp.org>.
33055
33056 2007-04-26  Eric Blake  <ebb9@byu.net>
33057
33058         Fix fflush on mingw.
33059         * modules/fflush (Depends-on): Add freading.
33060         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
33061         but unread data.
33062
33063 2007-04-26  Eric Blake  <ebb9@byu.net>
33064         and Bruno Haible  <bruno@clisp.org>
33065
33066         Implement freading and fwriting.
33067         * lib/freading.c: New file.
33068         * lib/freading.h: Likewise.
33069         * m4/freading.m4: Likewise.
33070         * modules/freading: Likewise.
33071         * modules/freading-tests: Likewise.
33072         * tests/test-freading.c: Likewise.
33073         * lib/fwriting.c: New file.
33074         * lib/fwriting.h: Likewise.
33075         * m4/fwriting.m4: Likewise.
33076         * modules/fwriting: Likewise.
33077         * modules/fwriting-tests: Likewise.
33078         * tests/test-fwriting.c: Likewise.
33079         * MODULES.html.sh (File stream based Input/Output): Mention them.
33080
33081 2007-04-26  Bruno Haible  <bruno@clisp.org>
33082
33083         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
33084         'long' when we assume it.
33085         Suggested by Eric Blake.
33086
33087 2007-04-26  Bruno Haible  <bruno@clisp.org>
33088
33089         Ensure fseeko, ftello are declared on glibc systems.
33090         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
33091         * modules/fseeko (configure.ac-early): Likewise.
33092         * modules/ftello (configure.ac-early): Likewise.
33093         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
33094         AC_FUNC_FSEEKO for this.
33095         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
33096         (gl_CHECK_FSEEKO): Remove macro.
33097
33098 2007-04-26  Bruno Haible  <bruno@clisp.org>
33099
33100         * tests/test-fflush.c (main): Also check the ftell result after
33101         fflush and fseek/fseeko.
33102         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
33103         file descriptor position cache in the stream.
33104         * lib/fseeko.c (rpl_fseeko): Likewise.
33105
33106 2007-04-26  Bruno Haible  <bruno@clisp.org>
33107
33108         * modules/fflush-tests (Depends-on): Add fseeko.
33109
33110 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
33111             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33112
33113         * lib/argz_.h: ensure error_t definition is obtained in same
33114         mechanism system argz.h would have.
33115         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
33116         argz facilities are known bad.  Err on the side of caution if
33117         cross-compiling.
33118
33119 2007-04-25  Eric Blake  <ebb9@byu.net>
33120
33121         * lib/fpurge.c (includes): Use stdlib.h for free.
33122         * tests/test-fflush.c (main): Also test fflush-fseeko.
33123
33124 2007-04-25  Bruno Haible  <bruno@clisp.org>
33125
33126         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
33127         * lib/fseeko.c: New file.
33128         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
33129         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
33130         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
33131         gl_FUNC_FSEEKO.
33132         (gl_FUNC_FSEEKO): Invoke it.
33133         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
33134         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
33135         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
33136
33137 2007-04-25  Bruno Haible  <bruno@clisp.org>
33138
33139         * modules/fflush (Depends-on): Add ftello.
33140
33141 2007-04-25  Bruno Haible  <bruno@clisp.org>
33142
33143         * modules/ftello-tests: New file.
33144         * tests/test-ftello.c: New file.
33145
33146         * modules/ftello: New file.
33147         * m4/ftello.m4: New file.
33148         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
33149         HAVE_FTELLO.
33150         * lib/stdio_.h (ftello): New declaration.
33151         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
33152         HAVE_FTELLO.
33153
33154 2007-04-25  Bruno Haible  <bruno@clisp.org>
33155
33156         * modules/fseeko-tests: New file.
33157         * tests/test-fseeko.c: New file.
33158
33159         * modules/fseeko: New file.
33160         * m4/fseeko.m4: New file.
33161         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
33162         HAVE_FSEEKO.
33163         * lib/stdio_.h (fseeko): New declaration.
33164         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
33165         HAVE_FSEEKO.
33166
33167 2007-04-25  Bruno Haible  <bruno@clisp.org>
33168
33169         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
33170
33171 2007-04-25  Bruno Haible  <bruno@clisp.org>
33172
33173         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
33174         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
33175         * tests/test-unistd.c: Likewise.
33176         * tests/test-fcntl.c: Likewise.
33177
33178 2007-04-23  Eric Blake  <ebb9@byu.net>
33179
33180         * lib/fflush.c: Fix missing include.
33181         Reported by Bruno Haible.
33182
33183 2007-04-23  Bruno Haible  <bruno@clisp.org>
33184
33185         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
33186         Reported by Eric Blake.
33187
33188 2007-04-23  Bruno Haible  <bruno@clisp.org>
33189
33190         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
33191
33192 2007-04-23  Bruno Haible  <bruno@clisp.org>
33193
33194         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
33195
33196 2007-04-23  Bruno Haible  <bruno@clisp.org>
33197
33198         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
33199         Needed on HP-UX 11.
33200
33201 2007-04-16  Eric Blake  <ebb9@byu.net>
33202
33203         Make fflush rely on fpurge.
33204         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
33205         open coding all variants.
33206         * modules/fflush (Depends-on): Add fpurge and unistd.
33207         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
33208         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
33209
33210         Fix --with-tests compilation on cygwin.
33211         * modules/argmatch-tests (Makefile.am): List gnulib library first
33212         in LDADD.
33213         * modules/argp-tests (Makefile.am): Likewise.
33214         * modules/array-list-tests (Makefile.am): Likewise.
33215         * modules/array-oset-tests (Makefile.am): Likewise.
33216         * modules/avltree-list-tests (Makefile.am): Likewise.
33217         * modules/avltree-oset-tests (Makefile.am): Likewise.
33218         * modules/avltreehash-list-tests (Makefile.am): Likewise.
33219         * modules/carray-list-tests (Makefile.am): Likewise.
33220         * modules/dirname-tests (Makefile.am): Likewise.
33221         * modules/frexp-tests (Makefile.am): Likewise.
33222         * modules/isnanl-tests (Makefile.am): Likewise.
33223         * modules/linked-list-tests (Makefile.am): Likewise.
33224         * modules/linkedhash-list-tests (Makefile.am): Likewise.
33225         * modules/lock-tests (Makefile.am): Likewise.
33226         * modules/rbtree-list-tests (Makefile.am): Likewise.
33227         * modules/rbtree-oset-tests (Makefile.am): Likewise.
33228         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
33229         * modules/tls-tests (Makefile.am): Likewise.
33230         * modules/tsearch-tests (Makefile.am): Likewise.
33231         * modules/xvasprintf-tests (Makefile.am): Likewise.
33232
33233         Fix fpurge for cygwin.
33234         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
33235         value.
33236         * modules/fpurge-tests (Depends-on): Clean up trash.
33237
33238 2007-04-16  Simon Josefsson  <simon@josefsson.org>
33239
33240         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
33241
33242         * m4/autobuild.m4: Re-indent.
33243
33244 2007-04-13  Bruno Haible  <bruno@clisp.org>
33245
33246         * modules/fpurge-tests: New file.
33247         * tests/test-fpurge.c: New file.
33248
33249         * modules/fpurge: New file.
33250         * lib/fpurge.h: New file.
33251         * lib/fpurge.c: New file.
33252         * m4/fpurge.m4: New file.
33253
33254 2007-04-13  Bruno Haible  <bruno@clisp.org>
33255
33256         * modules/fbufmode-tests: New file.
33257         * tests/test-fbufmode.c: New file.
33258
33259         * modules/fbufmode: New file.
33260         * lib/fbufmode.h: New file.
33261         * lib/fbufmode.c: New file.
33262         * m4/fbufmode.m4: New file.
33263
33264 2007-04-13  Bruno Haible  <bruno@clisp.org>
33265
33266         * modules/fwritable-tests: New file.
33267         * tests/test-fwritable.c: New file.
33268
33269         * modules/fwritable: New file.
33270         * lib/fwritable.h: New file.
33271         * lib/fwritable.c: New file.
33272         * m4/fwritable.m4: New file.
33273
33274 2007-04-13  Bruno Haible  <bruno@clisp.org>
33275
33276         * modules/freadable-tests: New file.
33277         * tests/test-freadable.c: New file.
33278
33279         * modules/freadable: New file.
33280         * lib/freadable.h: New file.
33281         * lib/freadable.c: New file.
33282         * m4/freadable.m4: New file.
33283
33284 2007-04-13  Bruno Haible  <bruno@clisp.org>
33285
33286         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
33287         MOSTLYCLEANFILES.
33288
33289 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
33290
33291         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
33292         gzip bootstrap.conf to avoid dragging in i18n machinery.
33293         (gnulib_tool_option): Use it.
33294
33295 2007-04-13  Bruno Haible  <bruno@clisp.org>
33296
33297         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
33298         %F directives.
33299         * tests/test-vasprintf-posix.c (test_function): Likewise.
33300         * tests/test-snprintf-posix.h (test_function): Likewise.
33301         * tests/test-sprintf-posix.h (test_function): Likewise.
33302         * tests/test-fprintf-posix.h (test_function): Likewise.
33303         * tests/test-printf-posix.h (test_function): Likewise.
33304         * tests/test-fprintf-posix.out: Likewise.
33305
33306 2007-04-13  Bruno Haible  <bruno@clisp.org>
33307
33308         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
33309         * modules/tls-tests (configure.ac): Likewise.
33310         Reported by Arto C. Nirkko <anirkko@insel.ch>.
33311
33312 2007-04-13  Bruno Haible  <bruno@clisp.org>
33313
33314         * lib/tls.c (glthread_tls_get): Fix return type.
33315         Patch by Arto C. Nirkko <anirkko@insel.ch>.
33316
33317 2007-04-12  Eric Blake  <ebb9@byu.net>
33318
33319         * modules/gettime (Depends-on): Remove gettime.
33320         Reported by Dmitry V. Levin.
33321
33322 2007-04-12  Bruno Haible  <bruno@clisp.org>
33323
33324         * modules/fflush (Include): Mention <stdio.h>.
33325         * modules/strtoimax (Include): Mention <inttypes.h>.
33326         * modules/strtoumax (Include): Likewise.
33327
33328 2007-04-12  Eric Blake  <ebb9@byu.net>
33329
33330         * .cvsignore: New file.
33331         * .gitignore: Likewise.
33332
33333 2007-04-12  Bruno Haible  <bruno@clisp.org>
33334
33335         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
33336         not before, since $(LDADD) often contains libgnu.a.
33337         * modules/striconv-tests (test_striconv_LDADD): Likewise.
33338         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
33339         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
33340         Needed on Cygwin.
33341
33342 2007-04-12  Eric Blake  <ebb9@byu.net>
33343
33344         Work around glibc's failure to flush stdin on fclose.
33345         * lib/closein.c (close_stdin): Flush stdin before closing.
33346
33347         Work around glibc's failure to reset seekable stdin on exit.
33348         * modules/closein: New module.
33349         * lib/closein.c: New file.
33350         * lib/closein.h: Likewise.
33351         * m4/closein.m4: Likewise.
33352         * MODULES.html.sh (File stream based Input/Output): Document it.
33353
33354 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33355
33356         * gnulib-tool: Rename generated 'autobuild' script to
33357         'do-autobuild' in --create-megatestdir output.
33358
33359         * doc/gnulib.texi (Build robot for gnulib): Fix.
33360
33361 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33362
33363         * modules/sysexits (Depends-on): Add absolute-header.
33364
33365 2007-04-12  Eric Blake  <ebb9@byu.net>
33366
33367         No need to preserve errno on success.
33368         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
33369         Reported by Bruno Haible.
33370
33371 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33372
33373         * MODULES.html.sh (Support for maintaining and releasing
33374         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
33375
33376 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33377
33378         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
33379
33380 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33381
33382         * modules/autobuild: New module.
33383
33384         * m4/autobuild.m4: New file.
33385
33386 2007-04-11  Bruno Haible  <bruno@clisp.org>
33387
33388         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
33389         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
33390         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
33391         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
33392         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33393         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33394         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33395         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33396         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33397         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33398         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
33399         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33400         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33401         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
33402         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33403         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33404         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
33405         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33406         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33407         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
33408         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33409         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33410         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
33411         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33412         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33413         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
33414         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33415         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33416         Reported by Eric Blake.
33417
33418 2007-04-11  Bruno Haible  <bruno@clisp.org>
33419
33420         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
33421
33422 2007-04-10  Bruno Haible  <bruno@clisp.org>
33423
33424         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
33425         for NaN and Infinity. Needed on FreeBSD 6.1.
33426         * tests/test-vasnprintf-posix.c (test_function): Undo last change
33427         regarding results for "%010a" of Infinity and NaN.
33428         * tests/test-vasprintf-posix.c (test_function): Likewise.
33429         * tests/test-snprintf-posix.h (test_function): Likewise.
33430         * tests/test-sprintf-posix.h (test_function): Likewise.
33431         * tests/test-fprintf-posix.h (test_function): Likewise.
33432         * tests/test-printf-posix.h (test_function): Likewise.
33433         * tests/test-fprintf-posix.out: Likewise.
33434
33435 2007-04-10  Bruno Haible  <bruno@clisp.org>
33436
33437         * modules/locale-tests: New file.
33438         * tests/test-locale.c: New file.
33439
33440         * modules/locale: New file.
33441         * lib/locale_.h: New file.
33442         * m4/locale_h.m4: New file.
33443
33444 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
33445             Bruno Haible  <bruno@clisp.org>
33446
33447         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
33448         be determined, test for availability of the copysignf, copysign,
33449         copysignl functions.
33450         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
33451         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
33452         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
33453
33454 2007-04-09  Eric Blake  <ebb9@byu.net>
33455
33456         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
33457         * modules/stdio (Makefile.am): Support fflush.
33458         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33459         * modules/fflush: New file.
33460         * lib/fflush.c: Likewise.
33461         * m4/fflush.m4: Likewise.
33462         * modules/fflush-tests: New test.
33463         * tests/test-fflush.c: Likewise.
33464         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
33465
33466 2007-04-06  Bruno Haible  <bruno@clisp.org>
33467
33468         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
33469         (VASNPRINTF): Use signbit for faster determination whether to print a
33470         minus sign.
33471         * modules/vasnprintf (Files): Remove lib/float+.h.
33472         * modules/fprintf-posix (Depends-on): Add signbit.
33473         * modules/snprintf-posix (Depends-on): Likewise.
33474         * modules/sprintf-posix (Depends-on): Likewise.
33475         * modules/vasnprintf-posix (Depends-on): Likewise.
33476         * modules/vasprintf-posix (Depends-on): Likewise.
33477         * modules/vfprintf-posix (Depends-on): Likewise.
33478         * modules/vsnprintf-posix (Depends-on): Likewise.
33479         * modules/vsprintf-posix (Depends-on): Likewise.
33480
33481 2007-04-06  Bruno Haible  <bruno@clisp.org>
33482
33483         * tests/test-frexp.c (main): Test also the sign bit of zero results.
33484         * tests/test-frexpl.c (main): Likewise.
33485         * tests/test-ldexpl.c (main): Likewise.
33486         * modules/frexp-tests (Depends-on): Add signbit.
33487         * modules/frexpl-tests (Depdends-on): Likewise.
33488         * modules/ldexpl-tests (Depdends-on): Likewise.
33489
33490 2007-04-06  Bruno Haible  <bruno@clisp.org>
33491
33492         * modules/signbit-tests: New file.
33493         * tests/test-signbit.c: New file.
33494
33495         * modules/signbit: New file.
33496         * lib/signbitf.c: New file.
33497         * lib/signbitd.c: New file.
33498         * lib/signbitl.c: New file.
33499         * m4/signbit.m4: New file.
33500         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
33501         (signbit): New macro.
33502         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
33503         REPLACE_SIGNBIT.
33504         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
33505         REPLACE_FREXPL into math.h.
33506
33507 2007-04-06  Bruno Haible  <bruno@clisp.org>
33508
33509         * modules/isnanf-nolibm-tests: New file.
33510         * tests/test-isnanf.c: New file.
33511
33512         * modules/isnanf-nolibm: New file.
33513         * lib/isnanf.h: New file.
33514         * lib/isnanf.c: New file.
33515         * lib/isnan.c: Consider the USE_FLOAT macro.
33516         * m4/isnanf.m4: New file.
33517
33518 2007-04-06  Bruno Haible  <bruno@clisp.org>
33519
33520         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
33521         (Link): New section.
33522
33523         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
33524
33525 2007-04-06  Bruno Haible  <bruno@clisp.org>
33526
33527         Assume the 'long double' type.
33528         * m4/longdouble.m4: Remove file.
33529         * config/srclist.txt: Don't mention longdouble.m4.
33530         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
33531         * lib/float+.h: Likewise.
33532         * lib/frexp.c: Likewise.
33533         * lib/printf-args.h: Likewise.
33534         * lib/printf-args.c: Likewise.
33535         * lib/printf-frexp.c: Likewise.
33536         * lib/printf-parse.c: Likewise.
33537         * lib/vasnprintf.c: Likewise.
33538         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
33539         * m4/intl.m4: Likewise.
33540         * m4/isnanl.m4: Likewise.
33541         * m4/printf.m4: Likewise.
33542         * m4/printf-frexpl.m4: Likewise.
33543         * m4/vasnprintf.m4: Likewise.
33544         * modules/allocsa (Files): Remove m4/longdouble.m4.
33545         * modules/gettext (Files): Likewise.
33546         * modules/relocatable-prog-wrapper (Files): Likewise.
33547         * modules/vasnprintf (Files): Likewise.
33548         * modules/isnanl (Files): Likewise.
33549         (Include): Simplify.
33550         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
33551         (Include): Simplify.
33552         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
33553         (Include): Simplify.
33554         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
33555         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33556         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
33557         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33558         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33559         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33560         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
33561         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33562         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33563         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33564         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
33565         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33566         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
33567         * tests/test-isnanl.c: Likewise.
33568         * tests/test-snprintf-posix.h: Likewise.
33569         * tests/test-sprintf-posix.h: Likewise.
33570         * tests/test-vasnprintf-posix.c: Likewise.
33571         * tests/test-vasnprintf-posix2.c: Likewise.
33572         * tests/test-vasprintf-posix.c: Likewise.
33573
33574 2007-04-06  Bruno Haible  <bruno@clisp.org>
33575
33576         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
33577         * lib/math_.h [__DECC]: Include the overridden include file through
33578         #include_next, outside the double-inclusion guard.
33579         * lib/stdio_.h [__DECC]: Likewise.
33580         * lib/stdlib_.h [__DECC]: Likewise.
33581         * lib/string_.h [__DECC]: Likewise.
33582         * lib/time_.h [__DECC]: Likewise.
33583         * lib/wchar_.h [__DECC]: Likewise.
33584         * lib/wctype_.h [__DECC]: Likewise.
33585         * lib/inttypes_.h [__DECC]: Likewise.
33586         Reported by Albert Chin <china@thewrittenword.com> in
33587         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
33588
33589 2007-04-04  Eric Blake  <ebb9@byu.net>
33590
33591         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
33592         1.5.x.
33593
33594 2007-04-04  Bruno Haible  <bruno@clisp.org>
33595
33596         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
33597         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
33598
33599 2007-04-04  Bruno Haible  <bruno@clisp.org>
33600
33601         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
33602         results for "%010a" of Infinity and NaN.
33603         * tests/test-vasprintf-posix.c (test_function): Likewise.
33604         * tests/test-snprintf-posix.h (test_function): Likewise.
33605         * tests/test-sprintf-posix.h (test_function): Likewise.
33606         * tests/test-fprintf-posix.h (test_function): Remove these tests.
33607         * tests/test-printf-posix.h (test_function): Likewise.
33608         * tests/test-fprintf-posix.out: Update.
33609         Needed for FreeBSD 6.1.
33610
33611 2007-04-04  Bruno Haible  <bruno@clisp.org>
33612
33613         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
33614         directly used by the gnulib modules nor by gnulib-tool.
33615
33616 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
33617
33618         * DEPENDENCIES: Give overall description of version dependency
33619         desirability.  Use more-typical names for apps.
33620         Add shell, coreutils, diffutils, grep, tar, gzip.
33621
33622 2007-04-04  Simon Josefsson  <simon@josefsson.org>
33623
33624         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
33625
33626 2007-04-04  Karl Berry  <karl@gnu.org>
33627
33628         * MODULES.html.sh (func_module): missing '.
33629
33630 2007-04-03  Bruno Haible  <bruno@clisp.org>
33631
33632         * modules/argmatch-tests (Makefile.am): New variable
33633         test_argmatch_LDADD.
33634         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
33635         * modules/array-list-tests (Makefile.am): New variable
33636         test_array_list_LDADD.
33637         * modules/array-oset-tests (Makefile.am): New variable
33638         test_array_oset_LDADD.
33639         * modules/avltree-list-tests (Makefile.am): New variable
33640         test_avltree_list_LDADD.
33641         * modules/avltree-oset-tests (Makefile.am): New variable
33642         test_avltree_oset_LDADD.
33643         * modules/avltreehash-list-tests (Makefile.am): New variable
33644         test_avltreehash_list_LDADD.
33645         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
33646         test_canonicalize_lgpl_LDADD.
33647         * modules/carray-list-tests (Makefile.am): New variable
33648         test_carray_list_LDADD.
33649         * modules/dirname-tests (Makefile.am): New variable
33650         test_dirname_LDADD.
33651         * modules/linked-list-tests (Makefile.am): New variable
33652         test_linked_list_LDADD.
33653         * modules/linkedhash-list-tests (Makefile.am): New variable
33654         test_linkedhash_list_LDADD.
33655         * modules/rbtree-list-tests (Makefile.am): New variable
33656         test_rbtree_list_LDADD.
33657         * modules/rbtree-oset-tests (Makefile.am): New variable
33658         test_rbtree_oset_LDADD.
33659         * modules/rbtreehash-list-tests (Makefile.am): New variable
33660         test_rbtreehash_list_LDADD.
33661         * modules/xvasprintf-tests (Makefile.am): New variable
33662         test_xvasprintf_LDADD.
33663         Reported by Eric Blake.
33664
33665 2007-04-03  Eric Blake  <ebb9@byu.net>
33666
33667         * DEPENDENCIES: Weaken m4 requirements.
33668
33669 2007-04-03  Bruno Haible  <bruno@clisp.org>
33670
33671         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
33672         * modules/isnanl-tests (configure.ac): Likewise.
33673
33674 2007-04-03  Ben Pfaff  <blp@gnu.org>
33675
33676         * modules/iconv_open: Add $(srcdir)/ to source directory
33677         references in Makefile fragments that call gperf, to fix VPATH
33678         builds.
33679
33680 2007-04-03  Bruno Haible  <bruno@clisp.org>
33681
33682         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
33683         * lib/ldexpl.c: Undo last change.
33684
33685 2007-04-03  Bruno Haible  <bruno@clisp.org>
33686
33687         * modules/printf-frexpl (Depends-on): Undo last change.
33688         (Files): Add m4/ldexpl.m4.
33689
33690 2007-04-03  Bruno Haible  <bruno@clisp.org>
33691
33692         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
33693         * modules/isnanl (Link): New section.
33694
33695         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
33696         * modules/frexp (Link): New section.
33697
33698         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
33699         * modules/frexpl (Link): New section.
33700
33701         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
33702         * modules/ldexpl (Link): New section.
33703
33704 2007-04-03  Bruno Haible  <bruno@clisp.org>
33705
33706         * modules/TEMPLATE-EXTENDED: New file.
33707         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
33708
33709 2007-04-03  Bruno Haible  <bruno@clisp.org>
33710
33711         * DEPENDENCIES: New file.
33712         Suggested by Simon Josefsson.
33713
33714 2007-04-03  Bruno Haible  <bruno@clisp.org>
33715
33716         * doc/gnulib.texi: Escape @.
33717
33718 2007-04-03  James Youngman  <jay@gnu.org>
33719         and Paul Eggert  <eggert@cs.ucla.edu>
33720
33721         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
33722         birthtime on all systems that have birthtime, not just those which
33723         use st_birthtimensec rather than st_birthtim.  Putting zero in
33724         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
33725         that the birth time is not available for files on an NFS mount.
33726
33727 2007-04-03  Simon Josefsson  <simon@josefsson.org>
33728
33729         * modules/memxor: Move back from crypto/, suggested by Bruno.
33730         * modules/crypto/hmac-sha1: Fix memxor dependency.
33731
33732         * modules/crypto/gc: Moved from ../.
33733
33734 2007-04-02  Eric Blake  <ebb9@byu.net>
33735
33736         * lib/ldexpl.c (includes): Avoid libm.
33737
33738         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
33739
33740 2007-04-02  Bruno Haible  <bruno@clisp.org>
33741
33742         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
33743         on IRIX.
33744
33745 2007-04-02  Bruno Haible  <bruno@clisp.org>
33746
33747         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
33748         x86 or x86_64 platforms running MacOS X.
33749         Reported by Ryan Schmidt <@ryandesign.com>.
33750
33751 2007-04-02  Bruno Haible  <bruno@clisp.org>
33752
33753         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
33754         i386.
33755
33756 2007-04-01  Simon Josefsson  <simon@josefsson.org>
33757
33758         * modules/crypto/arcfour: Moved from ../.
33759         * modules/crypto/arcfour-tests: Moved from ../.
33760         * modules/crypto/arctwo: Moved from ../.
33761         * modules/crypto/arctwo-tests: Moved from ../.
33762         * modules/crypto/des: Moved from ../.
33763         * modules/crypto/des-tests: Moved from ../.
33764         * modules/crypto/gc-arcfour: Moved from ../.
33765         * modules/crypto/gc-arcfour-tests: Moved from ../.
33766         * modules/crypto/gc-arctwo: Moved from ../.
33767         * modules/crypto/gc-arctwo-tests: Moved from ../.
33768         * modules/crypto/gc-des: Moved from ../.
33769         * modules/crypto/gc-des-tests: Moved from ../.
33770         * modules/crypto/gc-hmac-md5: Moved from ../.
33771         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
33772         * modules/crypto/gc-hmac-sha1: Moved from ../.
33773         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
33774         * modules/crypto/gc-md2: Moved from ../.
33775         * modules/crypto/gc-md2-tests: Moved from ../.
33776         * modules/crypto/gc-md4: Moved from ../.
33777         * modules/crypto/gc-md4-tests: Moved from ../.
33778         * modules/crypto/gc-md5: Moved from ../.
33779         * modules/crypto/gc-md5-tests: Moved from ../.
33780         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
33781         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
33782         * modules/crypto/gc-random: Moved from ../.
33783         * modules/crypto/gc-rijndael: Moved from ../.
33784         * modules/crypto/gc-rijndael-tests: Moved from ../.
33785         * modules/crypto/gc-sha1: Moved from ../.
33786         * modules/crypto/gc-sha1-tests: Moved from ../.
33787         * modules/crypto/gc-tests: Moved from ../.
33788         * modules/crypto/hmac-md5: Moved from ../.
33789         * modules/crypto/hmac-md5-tests: Moved from ../.
33790         * modules/crypto/hmac-sha1: Moved from ../.
33791         * modules/crypto/hmac-sha1-tests: Moved from ../.
33792         * modules/crypto/md2: Moved from ../.
33793         * modules/crypto/md2-tests: Moved from ../.
33794         * modules/crypto/md4: Moved from ../.
33795         * modules/crypto/md4-tests: Moved from ../.
33796         * modules/crypto/md5: Moved from ../.
33797         * modules/crypto/md5-tests: Moved from ../.
33798         * modules/crypto/memxor: Moved from ../.
33799         * modules/crypto/rijndael: Moved from ../.
33800         * modules/crypto/rijndael-tests: Moved from ../.
33801         * modules/crypto/sha1: Moved from ../.
33802
33803 2007-03-30  James Youngman  <jay@gnu.org>
33804
33805         * tests/test-stat-time.c (prepare_test): use chmod() rather than
33806         rename() to change the ctime of a file (because ctime is unaffected
33807         by rename on jfs2 on AIX 5.1).
33808         (main): Start by doing cleanup, in case a previous run failed leaving
33809         test files behind.
33810
33811 2007-03-31  Bruno Haible  <bruno@clisp.org>
33812
33813         Support old proprietary implementations of iconv.
33814         * modules/iconv_open: New file.
33815         * lib/iconv_.h: New file.
33816         * m4/iconv_h.m4: New file.
33817         * lib/iconv_open.c: New file.
33818         * lib/iconv_open-aix.gperf: New file.
33819         * lib/iconv_open-hpux.gperf: New file.
33820         * lib/iconv_open-irix.gperf: New file.
33821         * lib/iconv_open-osf.gperf: New file.
33822         * m4/iconv_open.m4: New file.
33823         * modules/linebreak (Depends-on): Add iconv_open.
33824         * modules/striconv (Depends-on): Likewise.
33825         * modules/striconveh (Depends-on): Likewise.
33826         * modules/unicodeio (Depends-on): Likewise.
33827         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
33828         (iconv_t)(-1).
33829         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
33830         conversion if cd is (iconv_t)(-1).
33831         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
33832         is not possible.
33833
33834 2007-03-31  Bruno Haible  <bruno@clisp.org>
33835
33836         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
33837         work on Solaris either. Protect also second use of "autodetect_jp".
33838
33839 2007-03-31  Bruno Haible  <bruno@clisp.org>
33840
33841         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
33842         the function is not present.
33843
33844 2007-03-31  Bruno Haible  <bruno@clisp.org>
33845
33846         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
33847         the function is not present.
33848
33849 2007-03-31  Bruno Haible  <bruno@clisp.org>
33850
33851         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
33852         a bug in HP-UX iconv_open().
33853
33854 2007-03-31  Bruno Haible  <bruno@clisp.org>
33855
33856         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
33857         (Mathematics <math.h>): New section, add fpieee.
33858         (Input/output <stdio.h>): Add fseterr.
33859         (Mathematics <math.h>): New section, add printf-frexp.
33860         (Container data structures): Add sublist.
33861         (Core language properties): Add fpucw, inline.
33862         (Functions for greatest-width integer types <inttypes.h>): Add
33863         imaxabs, imaxdiv, inttypes.
33864         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
33865         isnanl-nolibm, ldexp.
33866         (Mathematics <math.h>): New section, add printf-frexpl.
33867         (Support for systems lacking POSIX:2001): Add fprintf-posix,
33868         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
33869         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
33870         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
33871         (Unicode string functions): Add unistr/u*-mbtoucr.
33872         (Java): Add javacomp-script, javaexec-script.
33873         (C#): Add csharpcomp-script, csharpexec-script.
33874         (Support for building libraries and executables): Add havelib,
33875         relocatable-*.
33876         (Support for maintaining and releasing projects): Renamed from
33877         'Support for maintaining and release projects'. Add announce-gen.
33878
33879 2007-03-31  Bruno Haible  <bruno@clisp.org>
33880
33881         * README: Talk primarily about git.
33882         (git and CVS): Renamed from CVS.
33883         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
33884         gnulib is available through git.
33885         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
33886
33887 2007-03-30  Bruno Haible  <bruno@clisp.org>
33888
33889         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
33890         * lib/poll_.h: Likewise.
33891         * lib/stat_.h: Likewise.
33892         * lib/sys_time_.h: Likewise.
33893         * lib/sysexit_.h: Likewise.
33894         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
33895         * lib/stdbool_.h: Likewise.
33896         * lib/byteswap_.h: Add double-inclusion guard.
33897
33898 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
33899
33900         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
33901
33902 2007-03-30  Karl Berry  <karl@gnu.org>
33903
33904         * config/srclist-update: double space after USA in the license
33905         substitution, since that's how it's usually (?) written.
33906
33907 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
33908
33909         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
33910         reported by Bruno Haible.
33911
33912 2007-03-29  Bruno Haible  <bruno@clisp.org>
33913
33914         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
33915         a bug in AIX iconv().
33916
33917 2007-03-29  Bruno Haible  <bruno@clisp.org>
33918
33919         * modules/ldexpl-tests: New file.
33920         * tests/test-ldexpl.c: New file.
33921
33922 2007-03-29  Bruno Haible  <bruno@clisp.org>
33923
33924         * lib/ldexpl.c: Include fpucw.h.
33925         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
33926         multiplication.
33927         * modules/ldexpl (Depends-on): Add fpucw.
33928
33929 2007-03-29  Bruno Haible  <bruno@clisp.org>
33930
33931         * modules/ldexpl: New file.
33932         * m4/ldexpl.m4: New file.
33933         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
33934         set.
33935         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
33936         REPLACE_LDEXPL.
33937         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
33938         REPLACE_LDEXPL.
33939         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
33940         gl_FUNC_LDEXPL_WORKS.
33941         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
33942         * modules/mathl (Files): Remove lib/ldexpl.c.
33943         (Depends-on): Add ldexpl.
33944
33945 2007-03-29  Bruno Haible  <bruno@clisp.org>
33946
33947         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
33948
33949 2007-03-29  Bruno Haible  <bruno@clisp.org>
33950
33951         * tests/test-striconveh.c (main): Don't assume that a direct conversion
33952         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
33953         and possibly also HP-UX.
33954         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
33955         work on AIX, IRIX, HP-UX, OSF/1.
33956         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
33957         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
33958         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
33959         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
33960         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
33961         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
33962
33963 2007-03-29  Bruno Haible  <bruno@clisp.org>
33964
33965         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
33966
33967 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
33968
33969         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
33970         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
33971
33972 2007-03-29  Eric Blake  <ebb9@byu.net>
33973
33974         * lib/acl-internal.h: Remove redundant include.
33975         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
33976         Cygwin when a file is locked.
33977
33978 2007-03-29  Bruno Haible  <bruno@clisp.org>
33979
33980         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
33981         file.
33982         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
33983
33984 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
33985
33986         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
33987         try to remove a parent directory if the child couldn't be removed
33988         (except for the first rmdir, which could fail because the child
33989         doesn't exist).  Problem reported by Jeff Blaine in
33990         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
33991
33992 2007-03-28  Bruno Haible  <bruno@clisp.org>
33993
33994         * lib/striconveh.c (utf8conv_carefully): New function.
33995         (mem_cd_iconveh_internal): Invoke it.
33996
33997 2007-03-28  Bruno Haible  <bruno@clisp.org>
33998
33999         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
34000         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
34001         input.
34002         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
34003         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
34004         unistr/u8-uctomb.
34005
34006 2007-03-28  Bruno Haible  <bruno@clisp.org>
34007
34008         * modules/unistr/u8-mbtoucr: New file.
34009         * lib/unistr/u8-mbtoucr.c: New file.
34010         * modules/unistr/u16-mbtoucr: New file.
34011         * lib/unistr/u16-mbtoucr.c: New file.
34012         * modules/unistr/u16-mbtoucr: New file.
34013         * lib/unistr/u16-mbtoucr.c: New file.
34014         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
34015
34016 2007-03-27  Simon Josefsson  <simon@josefsson.org>
34017             Bruno Haible  <bruno@clisp.org>
34018
34019         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
34020         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
34021         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
34022
34023         * m4/stdio_h.m4: Add stubs for vasprintf too.
34024
34025         * modules/stdio: Support vasprintf in sed command.
34026
34027         * modules/vasprintf: Depend on stdio for prototypes.  Remove
34028         vasprintf.h.  Add stdio module indicator.
34029
34030         * lib/stdio_.h: Declare asprintf and vasprintf, based on
34031         vasprintf.h.
34032
34033         * lib/vasprintf.h: File removed.
34034
34035         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
34036         * lib/vasprintf.c: Ditto.
34037         * lib/xvasprintf.c: Ditto.
34038         * tests/test-vasprintf-posix.c: Ditto.
34039         * tests/test-vasprintf.c: Ditto.
34040
34041 2007-03-27  Bruno Haible  <bruno@clisp.org>
34042
34043         Make vasnprintf multithread-safe.
34044         * lib/vasnprintf.c (decimal_point_char): New function.
34045         (VASNPRINTF): Use it.
34046         Suggested by Simon Josefsson.
34047
34048 2007-03-27  Eric Blake  <ebb9@byu.net>
34049
34050         Support sub-second birthtime on cygwin.
34051         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
34052         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
34053         (get_stat_birthtime): Also work with st_birthtim.
34054
34055 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34056
34057         * lib/stat-time.h (USE_BIRTHTIME): Remove.
34058         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
34059         (get_stat_birthtime_ns): Do not try to use "spare" fields.
34060         (get_stat_birthtime_ns): Simplify compile-time tests.
34061         (get_stat_birthtime): Change the API to look like
34062         get_stat_mtime etc., except return a negative tv_nsec on error.
34063         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
34064         Don't check for "spare" fields.
34065         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
34066         or for struct stat.st_birthtime, as these tests aren't used.
34067         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
34068
34069 2007-03-27  Bruno Haible  <bruno@clisp.org>
34070
34071         * lib/stat-time.h: Include <sys/stat.h>.
34072
34073 2007-03-27  James Youngman  <jay@gnu.org>
34074
34075         * lib/stat-time.h (get_stat_birthtime): New function for
34076           retrieving st_birthtime as provided by UFS2 (hence *BSD).
34077         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
34078           and its variants.
34079         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
34080         * modules/stat-time-test: New file.
34081         * tests/test-stat-time.c: New test, devised by Bruno Haible.
34082
34083 2007-03-26  Bruno Haible  <bruno@clisp.org>
34084
34085         Better support of signalling NaNs.
34086         * lib/atanl.c: Include isnanl.h.
34087         (atanl): Perform test for NaN at the beginning of the function and
34088         through a call to isnanl.
34089         * lib/cosl.c: Include isnanl.h.
34090         (cosl): Perform test for NaN at the beginning of the function and
34091         through a call to isnanl.
34092         * lib/ldexpl.c: Include isnanl.h.
34093         (ldexpl): Perform test for NaN through a call to isnanl.
34094         * lib/logl.c: Include isnanl.h.
34095         (logl): Perform test for NaN at the beginning of the function and
34096         through a call to isnanl.
34097         * lib/sinl.c: Include isnanl.h.
34098         (sinl): Perform test for NaN at the beginning of the function and
34099         through a call to isnanl.
34100         * lib/sqrtl.c: Include isnanl.h.
34101         (sqrtl): Perform test for NaN at the beginning of the function and
34102         through a call to isnanl.
34103         * lib/tanl.c: Include isnanl.h.
34104         (tanl): Perform test for NaN at the beginning of the function and
34105         through a call to isnanl.
34106         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
34107         * modules/mathl (Depends-on): Add isnanl.
34108
34109 2007-03-26  Eric Blake  <ebb9@byu.net>
34110
34111         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
34112         regression in logic sense of previous patch.
34113
34114 2007-03-26  Bruno Haible  <bruno@clisp.org>
34115
34116         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
34117         unportable shell command "if ! ...".
34118         Reported by Ralf Wildenhues.
34119
34120 2007-03-25  Bruno Haible  <bruno@clisp.org>
34121
34122         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
34123         <sysexits.h> file, and only add EX_CONFIG.
34124         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
34125         absolute file name and whether it is sufficient. Substitute also
34126         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
34127         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
34128         ABSOLUTE_SYSEXITS_H into sysexits.h.
34129
34130 2007-03-25  Bruno Haible  <bruno@clisp.org>
34131
34132         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
34133         hints is NULL.
34134
34135 2007-03-25  Bruno Haible  <bruno@clisp.org>
34136
34137         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
34138         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
34139
34140 2007-03-25  Bruno Haible  <bruno@clisp.org>
34141
34142         * lib/vasnprintf.c: Include langinfo.h.
34143         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
34144         multithread-safe.
34145         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
34146         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
34147         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
34148         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
34149         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
34150         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
34151         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
34152         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
34153         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
34154         Reported by Simon Josefsson.
34155
34156 2007-03-25  Bruno Haible  <bruno@clisp.org>
34157
34158         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
34159         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
34160         * modules/vasnprintf (Depends-on): Add stdint.
34161
34162 2007-03-25  Bruno Haible  <bruno@clisp.org>
34163
34164         * modules/fpieee: New file.
34165         * m4/fpieee.m4: New file.
34166         * modules/isnan-nolibm (Depends-on): Add fpieee.
34167         * modules/isnanl-nolibm (Depends-on): Add fpieee.
34168         * modules/isnanl (Depends-on): Add fpieee.
34169
34170 2007-03-25  Bruno Haible  <bruno@clisp.org>
34171
34172         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
34173
34174 2007-03-25  Bruno Haible  <bruno@clisp.org>
34175
34176         Avoid test failures on IRIX 6.5.
34177         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
34178         (main): Use it.
34179         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
34180         macros.
34181         (main): Use them.
34182
34183 2007-03-25  Bruno Haible  <bruno@clisp.org>
34184
34185         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
34186         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
34187         exists but doesn't work.
34188         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
34189         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
34190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
34191         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
34192
34193 2007-03-25  Bruno Haible  <bruno@clisp.org>
34194
34195         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
34196         returns inf. Needed on IRIX 6.5.
34197
34198 2007-03-25  Bruno Haible  <bruno@clisp.org>
34199
34200         * tests/test-frexpl.c: Include isnanl-nolibm.h.
34201         (main): Use isnanl instead of x != x idiom.
34202         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
34203
34204         * tests/test-frexp.c: Include isnan.h.
34205         (main): Use isnan instead of x != x idiom.
34206         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
34207
34208 2007-03-25  Bruno Haible  <bruno@clisp.org>
34209
34210         * tests/test-frexp.c (NaN): New function/macro.
34211         (main): Use it instead of 0.0 / 0.0.
34212         * tests/test-isnan.c (NaN): New function/macro.
34213         (main): Use it instead of 0.0 / 0.0.
34214         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
34215         (test_function): Use it instead of 0.0 / 0.0.
34216         * tests/test-vasprintf-posix.c (NaN): New function/macro.
34217         (test_function): Use it instead of 0.0 / 0.0.
34218         * tests/test-snprintf-posix.h (NaN): New function/macro.
34219         (test_function): Use it instead of 0.0 / 0.0.
34220         * tests/test-sprintf-posix.h (NaN): New function/macro.
34221         (test_function): Use it instead of 0.0 / 0.0.
34222         * tests/test-fprintf-posix.h (NaN): New function/macro.
34223         (test_function): Use it instead of 0.0 / 0.0.
34224         * tests/test-printf-posix.h (NaN): New function/macro.
34225         (test_function): Use it instead of 0.0 / 0.0.
34226
34227         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
34228
34229 2007-03-25  Bruno Haible  <bruno@clisp.org>
34230
34231         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
34232
34233 2007-03-25  Bruno Haible  <bruno@clisp.org>
34234
34235         * lib/regexec.c (merge_state_with_log): Make static.
34236
34237 2007-03-25  Bruno Haible  <bruno@clisp.org>
34238
34239         * lib/trigl.c (kernel_rem_pio2): Make static.
34240
34241 2007-03-25  Bruno Haible  <bruno@clisp.org>
34242
34243         * lib/sincosl.c (sincosl_table): Make static.
34244
34245 2007-03-25  Bruno Haible  <bruno@clisp.org>
34246
34247         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
34248         if the compiler does not support C99.
34249
34250 2007-03-25  Bruno Haible  <bruno@clisp.org>
34251
34252         * modules/time (Makefile.am): Ensure all rule action lines start with a
34253         tab.
34254
34255 2007-03-24  Bruno Haible  <bruno@clisp.org>
34256
34257         * modules/tsearch-tests: New file.
34258         * tests/test-tsearch.sh: New file.
34259         * tests/test-tsearch.c: New file, mostly copied from glibc.
34260
34261         * modules/search-tests: New file.
34262         * tests/test-search.c: New file.
34263
34264         * modules/search: New file.
34265         * lib/search_.h: New file, incorporating lib/tsearch.h.
34266         * m4/search_h.m4: New file.
34267         * lib/tsearch.h: Remove file.
34268         * lib/tsearch.c: Include search.h instead of tsearch.h.
34269         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
34270         HAVE_TSEARCH.
34271         * modules/tsearch (Files): Remove lib/tsearch.h.
34272         (Depends-on): Add search.
34273         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
34274         (Include): Change tsearch.h into search.h.
34275
34276 2007-03-24  Bruno Haible  <bruno@clisp.org>
34277
34278         * modules/fpucw: New file.
34279         * lib/fpucw.h: New file.
34280         * lib/frexp.c: Include fpucw.h.
34281         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
34282         (FUNC): Use them.
34283         * lib/printf-frexp.c: Include fpucw.h.
34284         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
34285         (FUNC): Use them.
34286         * lib/vasnprintf.c: Include fpucw.h.
34287         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
34288         'long double' calculations.
34289         * tests/test-frexpl.c: Include fpucw.h.
34290         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
34291         * tests/test-printf-frexpl.c: Include fpucw.h.
34292         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
34293         * modules/frexpl (Depends-on): Add fpucw.
34294         * modules/printf-frexpl (Depends-on): Likewise.
34295         * modules/fprintf-posix (Depends-on): Likewise.
34296         * modules/snprintf-posix (Depends-on): Likewise.
34297         * modules/sprintf-posix (Depends-on): Likewise.
34298         * modules/vasnprintf-posix (Depends-on): Likewise.
34299         * modules/vasprintf-posix (Depends-on): Likewise.
34300         * modules/vfprintf-posix (Depends-on): Likewise.
34301         * modules/vsnprintf-posix (Depends-on): Likewise.
34302         * modules/vsprintf-posix (Depends-on): Likewise.
34303         * modules/frexpl-tests (Depends-on): Likewise.
34304         * modules/printf-frexpl-tests (Depends-on): Likewise.
34305
34306 2007-03-24  Bruno Haible  <bruno@clisp.org>
34307
34308         * lib/float+.h: New file.
34309         * lib/isnan.c: Include float+.h.
34310         (SIZE): New macro.
34311         (FUNC): Compare only SIZE bytes of the value.
34312         * lib/vasnprintf.c: Include float+.h.
34313         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
34314         SIZEOF_LDBL or SIZEOF_DBL bytes.
34315         * modules/isnan-nolibm (Files): Add lib/float+.h.
34316         * modules/isnanl-nolibm (Files): Add lib/float+.h.
34317         * modules/isnanl (Files): Add lib/float+.h.
34318         * modules/vasnprintf (Files): Add lib/float+.h.
34319
34320 2007-03-24  Bruno Haible  <bruno@clisp.org>
34321
34322         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
34323         include isnanl-nolibm.h.
34324
34325 2007-03-24  Bruno Haible  <bruno@clisp.org>
34326
34327         * tests/test-read-file.c (main): Don't produce spurious output for
34328         expected situations. Make the test fail if it encountered unexpected
34329         results.
34330
34331 2007-03-24  Bruno Haible  <bruno@clisp.org>
34332
34333         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
34334         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
34335
34336 2007-03-24  Bruno Haible  <bruno@clisp.org>
34337
34338         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
34339
34340 2007-03-24  Bruno Haible  <bruno@clisp.org>
34341
34342         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
34343         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
34344
34345         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
34346         * modules/utf8-ucs4: Turn into a symbolic link to module
34347         unistr/u8-mbtouc.
34348
34349         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
34350         utf8-ucs4-unsafe.
34351         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
34352         unistr/u8-mbtouc-unsafe.
34353
34354         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
34355         * modules/utf16-ucs4: Turn into a symbolic link to module
34356         unistr/u16-mbtouc.
34357
34358         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
34359         utf16-ucs4-unsafe.
34360         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
34361         unistr/u16-mbtouc-unsafe.
34362
34363         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
34364         * modules/ucs4-utf8: Turn into a symbolic link to module
34365         unistr/u8-ubtomb.
34366
34367         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
34368         * modules/ucs4-utf16: Turn into a symbolic link to module
34369         unistr/u16-ubtomb.
34370
34371 2007-03-24  Bruno Haible  <bruno@clisp.org>
34372
34373         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
34374         Enable the function only if HAVE_INLINE.
34375         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
34376         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
34377         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
34378         Enable the function only if HAVE_INLINE.
34379         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
34380         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
34381         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
34382         Enable the function only if HAVE_INLINE.
34383         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
34384         Enable the function only if HAVE_INLINE.
34385         * modules/utf8-ucs4: Update.
34386         * modules/utf8-ucs4-unsafe: Update.
34387         * modules/utf16-ucs4: Update.
34388         * modules/utf16-ucs4-unsafe: Update.
34389         * modules/ucs4-utf8: Update.
34390         * modules/ucs4-utf16: Update.
34391
34392 2007-03-24  Bruno Haible  <bruno@clisp.org>
34393
34394         * lib/utf8-ucs4.h: Remove file.
34395         * lib/utf8-ucs4-unsafe.h: Remove file.
34396         * lib/utf16-ucs4.h: Remove file.
34397         * lib/utf16-ucs4-unsafe.h: Remove file.
34398         * lib/ucs4-utf8.h: Remove file.
34399         * lib/ucs4-utf16.h: Remove file.
34400         * lib/unistr.h: Include their previous contents.
34401         * m4/utf-ucs4.m4: Remove file.
34402         * m4/ucs4-utf.m4: Remove file.
34403         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
34404         (Depends-on): Add unistr/base.
34405         (configure.ac): Remove gl_UTF_UCS4.
34406         (Makefile.am): Update.
34407         (Include): Change to unistr.h.
34408         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
34409         (Depends-on): Add unistr/base.
34410         (configure.ac): Remove gl_UTF_UCS4.
34411         (Makefile.am): Update.
34412         (Include): Change to unistr.h.
34413         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
34414         (Depends-on): Add unistr/base.
34415         (configure.ac): Remove gl_UTF_UCS4.
34416         (Makefile.am): Update.
34417         (Include): Change to unistr.h.
34418         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
34419         (Depends-on): Add unistr/base.
34420         (configure.ac): Remove gl_UTF_UCS4.
34421         (Makefile.am): Update.
34422         (Include): Change to unistr.h.
34423         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
34424         (Depends-on): Add unistr/base.
34425         (configure.ac): Remove gl_UCS4_UTF.
34426         (Makefile.am): Update.
34427         (Include): Change to unistr.h.
34428         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
34429         (Depends-on): Add unistr/base.
34430         (configure.ac): Remove gl_UCS4_UTF.
34431         (Makefile.am): Update.
34432         (Include): Change to unistr.h.
34433         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
34434         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
34435         utf8-ucs4-unsafe.h.
34436         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
34437         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
34438         utf16-ucs4-unsafe.h.
34439         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
34440         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
34441         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
34442         * lib/unistr/u8-strchr.c: Likewise.
34443         * lib/unistr/u8-strrchr.c: Likewise.
34444         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
34445         * lib/unistr/u16-strchr.c: Likewise.
34446         * lib/unistr/u16-strrchr.c: Likewise.
34447         * lib/striconveh.c: Update.
34448         * lib/linebreak.c: Update.
34449
34450 2007-03-24  Bruno Haible  <bruno@clisp.org>
34451
34452         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
34453         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
34454
34455 2007-03-22  Bruno Haible  <bruno@clisp.org>
34456
34457         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
34458
34459 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
34460
34461         * MODULES.html.sh (File system functions): New module write-any-file.
34462         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
34463         * m4/write-any-file.m4: New files.
34464
34465 2007-03-23  Eric Blake  <ebb9@byu.net>
34466
34467         * gnulib-tool: Rearrange space-tab sequences, since some editors
34468         like to eat them.
34469
34470 2007-03-23  Eric Blake  <ebb9@byu.net>
34471
34472         * lib/version-etc.c (version_etc_va): Update license wording to
34473         be more concise.  Recommended by Richard Stallman.
34474
34475 2007-03-22  Bruno Haible  <bruno@clisp.org>
34476
34477         * lib/poll.c (MSG_PEEK): New fallback definition.
34478
34479 2007-03-22  Bruno Haible  <bruno@clisp.org>
34480
34481         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
34482         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
34483         (main): Update.
34484         Fixes a compilation error on BeOS.
34485
34486 2007-03-22  Bruno Haible  <bruno@clisp.org>
34487
34488         * modules/frexpl-tests: New file.
34489         * tests/test-frexpl.c: New file.
34490
34491         * modules/frexpl: New file.
34492         * m4/frexpl.m4: New file.
34493         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
34494         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
34495         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
34496         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
34497         (Depends-on): Add frexpl. Remove isnanl-nolibm.
34498         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
34499
34500 2007-03-22  Bruno Haible  <bruno@clisp.org>
34501
34502         * lib/frexpl.c: Share code with lib/frexp.c.
34503         * modules/mathl (Files): Add lib/frexp.c.
34504         (Depends-on): Add isnanl-nolibm.
34505
34506 2007-03-22  Bruno Haible  <bruno@clisp.org>
34507
34508         * modules/printf-frexp (Files): Add m4/frexp.m4.
34509         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
34510         only if the found frexp function actually works.
34511
34512 2007-03-22  Bruno Haible  <bruno@clisp.org>
34513
34514         * lib/frexp.c: Remove older implementation that uses divisions.
34515
34516 2007-03-21  Bruno Haible  <bruno@clisp.org>
34517
34518         * modules/frexp-tests: New file.
34519         * tests/test-frexp.c: New file.
34520
34521         * modules/frexp: New file.
34522         * lib/frexp.c: New file.
34523         * m4/frexp.m4: New file.
34524         * lib/math_.h (frexp): New declaration.
34525         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
34526         REPLACE_FREXP.
34527         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
34528
34529 2007-03-21  Bruno Haible  <bruno@clisp.org>
34530
34531         * modules/isnanl-tests: New file.
34532         * tests/test-isnanl.c: New file.
34533
34534         * modules/isnanl: New file.
34535         * lib/isnanl.h: New file.
34536         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
34537         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
34538         gl_FUNC_ISNANL_WORKS.
34539         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
34540         New macros.
34541
34542 2007-03-21  Bruno Haible  <bruno@clisp.org>
34543
34544         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
34545         lib/isnanl.h.
34546         (Include): Update.
34547         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
34548         * lib/vasnprintf.c: Update.
34549         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
34550         tests/test-isnanl.h, remove tests/test-isnanl.c.
34551         (Makefile.am): Update.
34552         * tests/test-isnanl-nolibm.c: New file.
34553         * tests/test-isnanl.h: New file.
34554         * tests/test-isnanl.c: Remove file.
34555
34556 2007-03-21  Jim Meyering  <jim@meyering.net>
34557
34558         When trying to open ".", treat ESTALE like EACCES.
34559         * lib/savewd.c (savewd_save): Resort to forking not just upon
34560         failure with EACCES, but also when errno is ESTALE.
34561
34562 2007-03-20  Bruno Haible  <bruno@clisp.org>
34563
34564         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
34565         Needed on AIX 5.1. Reported by Matthew Woehlke.
34566
34567 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34568
34569         Suggestions by Bruno Haible:
34570         * lib/acl-internal.h: Include "gettext.h" rather than rolling
34571         our own.
34572         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
34573         * modules/acl (Depends-on): Add gettext.
34574
34575 2007-03-19  Bruno Haible  <bruno@clisp.org>
34576
34577         * modules/iconvme: Remove file.
34578         * lib/iconvme.h: Remove file.
34579         * lib/iconvme.c: Remove file.
34580         * m4/iconvme.m4: Remove file.
34581
34582 2007-03-19  Bruno Haible  <bruno@clisp.org>
34583
34584         * doc/relocatable-maint.texi: Break long shell script line.
34585         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34586
34587 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34588
34589         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
34590         handle file_has_acl.
34591         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
34592         * lib/acl.c: Move header inclusions and related macro defns into
34593         lib/acl-internal.h.
34594         (S_ISLNK): Remove defn, since that's now done for us.
34595         (file_has_acl): Move to lib/file-has-acl.c.
34596         Call acl_trivial if available.  This is the crucial part of the fix.
34597         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
34598         shared within the library.  Rewrite a bit, partly to make it compatible
34599         with the GNU coding style.
34600         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
34601         Remove unnecessary double-quotes.
34602         Don't test for acl_to_text; the build will catch that.
34603         Replace acl_entries if it doesn't exist and it is needed.
34604         Check for -lsec and acl_trivial (as used on Solaris 10).
34605         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
34606         lib/file-has-acl.c.
34607         (Depends-on): Add sys_stat, for S_ISLNK.
34608
34609 2007-03-19  Ben Pfaff  <blp@gnu.org>
34610
34611         * doc/gnulib.texi: Fix typos.
34612         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34613
34614 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34615
34616         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
34617         If size is zero here, buf must be zero.
34618
34619 2007-03-19  Simon Josefsson  <simon@josefsson.org>
34620
34621         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
34622         <bruno@clisp.org>.
34623
34624 2007-03-18  Bruno Haible  <bruno@clisp.org>
34625
34626         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
34627         Suggested by Eric Blake.
34628
34629 2007-03-18  Ben Pfaff  <blp@gnu.org>
34630
34631         * doc/relocatable.texi: Recommend using as prefix a directory
34632         that does not exist and will never be created.  Based on
34633         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
34634         and others.
34635
34636 2007-03-17  Bruno Haible  <bruno@clisp.org>
34637
34638         * lib/fchownat.c: Include lchown.h.
34639
34640 2007-03-17  Bruno Haible  <bruno@clisp.org>
34641
34642         Fix endless loop when the given allocated size was > INT_MAX.
34643         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
34644         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
34645         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
34646         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
34647         * lib/sprintf.c (sprintf): Likewise.
34648
34649 2007-03-17  Bruno Haible  <bruno@clisp.org>
34650
34651         * tests/test-argp-2.sh (func_compare): Output a context diff.
34652
34653 2007-03-17  Bruno Haible  <bruno@clisp.org>
34654
34655         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
34656         locale's decimal-point character.
34657
34658 2007-03-17  Bruno Haible  <bruno@clisp.org>
34659
34660         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
34661         before comparing it. Needed because on some platforms (e.g. x86) a
34662         'long double' occupies less bytes than sizeof (long double).
34663
34664 2007-03-17  Bruno Haible  <bruno@clisp.org>
34665
34666         * tests/test-crc.c (main): Make printf statements 64-bit clean.
34667         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
34668         * tests/test-getaddrinfo.c (simple): Likewise.
34669         * tests/test-read-file.c (main): Likewise.
34670
34671 2007-03-17  Bruno Haible  <bruno@clisp.org>
34672
34673         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
34674
34675 2007-03-17  Bruno Haible  <bruno@clisp.org>
34676
34677         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
34678         unused variable.
34679
34680 2007-03-17  Bruno Haible  <bruno@clisp.org>
34681
34682         * tests/test-c-strcasecmp.c: Include c-strcase.h.
34683         * tests/test-c-strncasecmp.c: Likewise.
34684
34685 2007-03-17  Bruno Haible  <bruno@clisp.org>
34686
34687         * modules/stdlib (Depends-on): Add unistd.
34688         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
34689         Needed for MacOS X 10.3.
34690
34691 2007-03-17  Bruno Haible  <bruno@clisp.org>
34692
34693         * lib/unistr/u-strdup.h: Include <stdlib.h>.
34694
34695 2007-03-17  Bruno Haible  <bruno@clisp.org>
34696
34697         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
34698
34699 2007-03-17  Bruno Haible  <bruno@clisp.org>
34700
34701         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
34702         to reflect files copied from gnulib (with or without modifications).
34703         Suggested by Jim Meyering.
34704
34705 2007-03-17  Eric Blake  <ebb9@byu.net>
34706
34707         * NEWS: Document stdlib change from 2007-02-18.
34708
34709 2007-03-17  Jim Meyering  <jim@meyering.net>
34710
34711         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
34712         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
34713         someone uses a name containing shell meta-characters.
34714         Reported by Alfred M. Szmidt.
34715
34716         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
34717
34718 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
34719
34720         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
34721         and copy gettext configuration files only if configure.ac contains
34722         a use of AM_GNU_GETTEXT_VERSION.
34723
34724 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
34725
34726         * build-aux/bootstrap (gnulib_name): New variable.
34727         (gnulib_tool_options): Use it.
34728
34729 2007-03-13  Simon Josefsson  <simon@josefsson.org>
34730
34731         * tests/test-des.c: Use new namespace.
34732
34733 2007-03-15  Bruno Haible  <bruno@clisp.org>
34734
34735         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
34736         Reported by James Youngman <jay@gnu.org>.
34737
34738 2007-03-15  Bruno Haible  <bruno@clisp.org>
34739
34740         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
34741         declared prototype. Needed with cc on OSF/1 5.1.
34742
34743 2007-03-15  Bruno Haible  <bruno@clisp.org>
34744
34745         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
34746         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
34747         (struct gl_list_implementation): Add dispose_fn argument to the
34748         'create_empty', 'create' methods.
34749         (struct gl_list_impl_base): Add field 'dispose_fn'.
34750         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
34751         argument.
34752         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
34753         dispose_fn argument.
34754         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
34755         dispose_fn on the dropped values.
34756         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
34757         dispose_fn argument.
34758         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
34759         dropped values.
34760         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
34761         (gl_tree_remove_node): Call dispose_fn on the dropped value.
34762         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
34763         (gl_tree_remove_node): Call dispose_fn on the dropped value.
34764         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
34765         argument.
34766         (gl_tree_list_free): Call dispose_fn on the dropped values.
34767         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
34768         the dropped values.
34769         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
34770         Add dispose_fn argument.
34771         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
34772         Call dispose_fn on the dropped values.
34773         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
34774         Add dispose_fn argument.
34775         (gl_sublist_create): Initialize the 'dispose_fn' field.
34776         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
34777         * tests/test-array_list.c (main): Update.
34778         * tests/test-carray_list.c (main): Update.
34779         * tests/test-avltree_list.c (main): Update.
34780         * tests/test-rbtree_list.c (main): Update.
34781         * tests/test-avltreehash_list.c (main): Update.
34782         * tests/test-rbtreehash_list.c (main): Update.
34783         * tests/test-linked_list.c (main): Update.
34784         * tests/test-linkedhash_list.c (main): Update.
34785         * tests/test-array_oset.c (main): Update.
34786
34787 2007-03-15  Bruno Haible  <bruno@clisp.org>
34788
34789         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
34790         (gl_oset_create_empty): Add dispose_fn argument.
34791         (struct gl_oset_implementation): Add dispose_fn argument to
34792         'create_empty' method.
34793         (struct gl_oset_impl_base): Add dispose_fn field.
34794         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
34795         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
34796         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
34797         values.
34798         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
34799         (gl_tree_oset_free): Call dispose_fn on the dropped values.
34800         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
34801         dropped value.
34802         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
34803         dropped value.
34804         * tests/test-array_oset.c (main): Update.
34805         * tests/test-avltree_oset.c (main): Update.
34806         * tests/test-rbtree_oset.c (main): Update.
34807         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
34808
34809 2007-03-13  Bruno Haible  <bruno@clisp.org>
34810
34811         * tests/test-stdbool.c (i): Update after last patch.
34812
34813 2007-03-12  Bruno Haible  <bruno@clisp.org>
34814
34815         * lib/quotearg.c: Include <wctype.h> early, before the definition of
34816         the iswprint macro. Needed on Solaris 2.5.1.
34817
34818 2007-03-12  Bruno Haible  <bruno@clisp.org>
34819
34820         * tests/test-printf-frexp.c (main): Declare x as volatile.
34821
34822 2007-03-12  Simon Josefsson  <simon@josefsson.org>
34823
34824         * doc/gnulib.texi (Build robot for gnulib): New section.
34825
34826 2007-03-12  Jim Meyering  <jim@meyering.net>
34827
34828         * build-aux/bootstrap: New file.
34829         * build-aux/bootstrap.conf: New file, from coreutils.
34830
34831 2007-03-11  Bruno Haible  <bruno@clisp.org>
34832
34833         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
34834
34835 2007-03-12  Simon Josefsson  <simon@josefsson.org>
34836
34837         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
34838         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
34839         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
34840
34841 2007-03-11  Bruno Haible  <bruno@clisp.org>
34842
34843         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
34844         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
34845
34846 2007-03-11  Bruno Haible  <bruno@clisp.org>
34847
34848         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
34849         formula. Needed for SunPRO C 5.0.
34850
34851 2007-03-11  Bruno Haible  <bruno@clisp.org>
34852
34853         * modules/long-options (Depends-on): Add getopt.
34854
34855 2007-03-11  Bruno Haible  <bruno@clisp.org>
34856
34857         * modules/modechange (Depends-on): Add stdbool.
34858
34859 2007-03-11  Bruno Haible  <bruno@clisp.org>
34860
34861         * modules/i-ring (Depends-on): Add stdbool.
34862
34863 2007-03-11  Bruno Haible  <bruno@clisp.org>
34864
34865         * modules/gc-des (Depends-on): Add stdbool.
34866
34867 2007-03-11  Bruno Haible  <bruno@clisp.org>
34868
34869         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
34870
34871 2007-03-11  Bruno Haible  <bruno@clisp.org>
34872
34873         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
34874
34875 2007-03-11  Bruno Haible  <bruno@clisp.org>
34876
34877         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
34878
34879 2007-03-11  Bruno Haible  <bruno@clisp.org>
34880
34881         * lib/vasnprintf.c (sprintf): Undefine.
34882
34883 2007-03-11  Bruno Haible  <bruno@clisp.org>
34884
34885         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
34886         initializers in SunPRO C and Compaq C compilers.
34887
34888 2007-03-11  Bruno Haible  <bruno@clisp.org>
34889
34890         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
34891         decrementing code ANSI C compliant.
34892
34893 2007-03-11  Bruno Haible  <bruno@clisp.org>
34894
34895         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
34896         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
34897
34898 2007-03-11  Bruno Haible  <bruno@clisp.org>
34899
34900         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
34901         <stdbool.h> substitute doesn't pass.
34902
34903 2007-03-11  Bruno Haible  <bruno@clisp.org>
34904
34905         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
34906
34907 2007-03-11  Bruno Haible  <bruno@clisp.org>
34908
34909         * gnulib-tool (func_create_megatestdir): Create also an autobuild
34910         script, for submission to autobuild.josefsson.org.
34911
34912 2007-03-10  Bruno Haible  <bruno@clisp.org>
34913
34914         * modules/canonicalize-lgpl-tests: New file.
34915         * tests/test-canonicalize-lgpl.sh: New file.
34916         * tests/test-canonicalize-lgpl.c: New file.
34917
34918         * modules/c-strcase-tests: New file.
34919         * tests/test-c-strcase.sh: New file.
34920         * tests/test-c-strcasecmp.c: New file.
34921         * tests/test-c-strncasecmp.c: New file.
34922
34923         * modules/atexit-tests: New file.
34924         * tests/test-atexit.sh: New file.
34925         * tests/test-atexit.c: New file.
34926
34927 2007-03-10  Bruno Haible  <bruno@clisp.org>
34928
34929         * tests/test-binary-io.sh: Use temporary filenames that are not so
34930         likely to clash with those of other tests (in a parallel make).
34931         * tests/test-binary-io.c: Likewise.
34932
34933 2007-03-10  Bruno Haible  <bruno@clisp.org>
34934
34935         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
34936         fallback; use #error instead.
34937         Suggested by Simon Josefsson.
34938
34939 2007-03-10  Bruno Haible  <bruno@clisp.org>
34940
34941         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
34942         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
34943         first and the last.
34944
34945 2007-03-10  Bruno Haible  <bruno@clisp.org>
34946
34947         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
34948
34949 2007-03-10  Bruno Haible  <bruno@clisp.org>
34950
34951         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
34952         "make distcheck".
34953         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
34954         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
34955         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
34956
34957 2007-03-10  Bruno Haible  <bruno@clisp.org>
34958
34959         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
34960         variable.
34961         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
34962         variable.
34963
34964 2007-03-09  Eric Blake  <ebb9@byu.net>
34965         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
34966
34967         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
34968         types are not being provided by gnulib.
34969         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
34970         types are supported.
34971
34972 2007-03-10  Bruno Haible  <bruno@clisp.org>
34973
34974         * lib/stdio_.h (__attribute__): New macro.
34975         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
34976         vsprintf): Specify __attribute__ __format__ for GCC.
34977         Suggested by Eric Blake.
34978
34979 2007-03-09  Bruno Haible  <bruno@clisp.org>
34980
34981         * modules/printf-posix-tests: New file.
34982         * tests/test-printf-posix.sh: New file.
34983         * tests/test-printf-posix.c: New file.
34984
34985         * modules/printf-posix: New file.
34986         * lib/printf.c: New file.
34987         * m4/printf-posix-rpl.m4: New file.
34988         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
34989         REPLACE_PRINTF.
34990         * lib/stdio_.h (printf): New declaration.
34991         (format, __format__, ____printf____, ____scanf____, ____strftime____,
34992         ____strfmon____): New macros.
34993         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
34994         REPLACE_PRINTF.
34995
34996 2007-03-09  Bruno Haible  <bruno@clisp.org>
34997
34998         * tests/test-vasnprintf-posix2.sh: New file.
34999         * tests/test-vasnprintf-posix2.c: New file.
35000         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
35001         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
35002         (Makefile.am): Activate test-vasnprintf-posix2.sh.
35003
35004         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
35005         a locale dependent decimal point, rather than always '.'.
35006
35007 2007-03-09  Eric Blake  <ebb9@byu.net>
35008
35009         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
35010         spite of platforms like Tandem/NSK that define it to -1.
35011
35012 2007-03-08  Bruno Haible  <bruno@clisp.org>
35013
35014         * modules/vprintf-posix-tests: New file.
35015         * tests/test-vprintf-posix.sh: New file.
35016         * tests/test-vprintf-posix.c: New file.
35017         * tests/test-printf-posix.h: New file.
35018
35019         * modules/vprintf-posix: New file.
35020         * lib/vprintf.c: New file.
35021         * m4/vprintf-posix.m4: New file.
35022         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
35023         REPLACE_VPRINTF.
35024         * lib/stdio_.h (vprintf): New declaration.
35025         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
35026         REPLACE_VPRINTF.
35027
35028 2007-03-08  Bruno Haible  <bruno@clisp.org>
35029
35030         * modules/fprintf-posix-tests: New file.
35031         * tests/test-fprintf-posix.sh: New file.
35032         * tests/test-fprintf-posix.c: New file.
35033
35034         * modules/fprintf-posix: New file.
35035         * lib/fprintf.c: New file.
35036         * m4/fprintf-posix.m4: New file.
35037         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
35038         REPLACE_FPRINTF.
35039         * lib/stdio_.h (fprintf): New declaration.
35040         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
35041         REPLACE_FPRINTF.
35042
35043 2007-03-08  Bruno Haible  <bruno@clisp.org>
35044
35045         * modules/vfprintf-posix-tests: New file.
35046         * tests/test-vfprintf-posix.sh: New file.
35047         * tests/test-vfprintf-posix.c: New file.
35048         * tests/test-fprintf-posix.h: New file.
35049         * tests/test-fprintf-posix.out: New file.
35050
35051         * modules/vfprintf-posix: New file.
35052         * lib/vfprintf.c: New file.
35053         * m4/vfprintf-posix.m4: New file.
35054         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
35055         REPLACE_VFPRINTF.
35056         * lib/stdio_.h (vfprintf): New declaration.
35057         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
35058         REPLACE_VFPRINTF.
35059
35060 2007-03-08  Bruno Haible  <bruno@clisp.org>
35061
35062         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
35063
35064 2007-03-08  Bruno Haible  <bruno@clisp.org>
35065
35066         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
35067         instead of 'expr' invocations.
35068         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35069         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35070         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35071         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35072         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35073         Suggested by Paul Eggert.
35074
35075 2007-03-08  Bruno Haible  <bruno@clisp.org>
35076
35077         * modules/fseterr-tests: New file.
35078         * tests/test-fseterr.c: New file.
35079
35080         * modules/fseterr: New file.
35081         * lib/fseterr.h: New file.
35082         * lib/fseterr.c: New file.
35083
35084 2007-03-08  Bruno Haible  <bruno@clisp.org>
35085
35086         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
35087         * lib/getopt_.h: Likewise.
35088         * lib/mbswidth.h: Likewise.
35089         * lib/setenv.h: Likewise.
35090         * lib/vasnprintf.h: Likewise.
35091         * lib/vasprintf.h: Likewise.
35092         * lib/verror.h: Likewise.
35093         * lib/xsetenv.h: Likewise.
35094         * lib/xvasprintf.h: Likewise.
35095
35096 2007-03-08  Jim Meyering  <jim@meyering.net>
35097
35098         * users.txt: Add parted.
35099
35100         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
35101
35102 2007-03-07  Bruno Haible  <bruno@clisp.org>
35103
35104         * m4/printf.m4: Make the shell script snippets copy&pastable.
35105
35106 2007-03-02  Bruno Haible  <bruno@clisp.org>
35107
35108         * lib/netinet_in_.h: New file.
35109         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
35110         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
35111         * modules/netinet_in (Files): Add lib/netinet_in_.h.
35112         (Depends-on): Add absolute-header.
35113         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
35114         into netinet/in.h.
35115
35116 2007-03-03  Bruno Haible  <bruno@clisp.org>
35117
35118         * lib/sys_select_.h: New file.
35119         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
35120         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
35121         * modules/sys_select (Files): Add lib/sys_select_.h.
35122         (Depends-on): Add absolute-header.
35123         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
35124         into sys/select.h.
35125
35126 2007-03-02  Bruno Haible  <bruno@clisp.org>
35127
35128         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
35129         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
35130         values.
35131         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
35132         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
35133         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
35134         * modules/sys_socket (Depends-on): Add absolute-header.
35135         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
35136         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
35137         (Include): Remove requirement of inclusion of <sys/types.h>.
35138
35139 2007-03-02  Bruno Haible  <bruno@clisp.org>
35140
35141         * lib/byteswap_.h (bswap_32): Fix formula.
35142
35143 2007-03-06  Bruno Haible  <bruno@clisp.org>
35144
35145         * modules/sprintf-posix-tests: New file.
35146         * tests/test-sprintf-posix.c: New file.
35147
35148         * modules/sprintf-posix: New file.
35149         * lib/sprintf.c: New file.
35150         * m4/sprintf-posix.m4: New file.
35151         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
35152         REPLACE_SPRINTF.
35153         * lib/stdio_.h (sprintf): New declaration.
35154         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
35155         REPLACE_SPRINTF.
35156
35157 2007-03-06  Bruno Haible  <bruno@clisp.org>
35158
35159         * modules/vsprintf-posix-tests: New file.
35160         * tests/test-vsprintf-posix.c: New file.
35161         * tests/test-sprintf-posix.h: New file.
35162
35163         * modules/vsprintf-posix: New file.
35164         * lib/vsprintf.c: New file.
35165         * m4/vsprintf-posix.m4: New file.
35166         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
35167         REPLACE_VSPRINTF.
35168         * lib/stdio_.h (vsprintf): New declaration.
35169         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
35170         REPLACE_VSPRINTF.
35171
35172 2007-03-06  Bruno Haible  <bruno@clisp.org>
35173
35174         * modules/vsnprintf (Depend-on): Remove minmax.
35175
35176 2007-03-06  Bruno Haible  <bruno@clisp.org>
35177
35178         * modules/snprintf-posix-tests: New file.
35179         * tests/test-snprintf-posix.c: New file.
35180
35181         * modules/snprintf-posix: New file.
35182         * m4/snprintf-posix.m4: New file.
35183         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
35184         gl_FUNC_SNPRINTF.
35185         (gl_FUNC_SNPRINTF): Invoke it.
35186         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
35187         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
35188         is set.
35189         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
35190
35191 2007-03-06  Bruno Haible  <bruno@clisp.org>
35192
35193         * modules/vsnprintf-posix-tests: New file.
35194         * tests/test-vsnprintf-posix.c: New file.
35195         * tests/test-snprintf-posix.h: New file.
35196
35197         * modules/vsnprintf-posix: New file.
35198         * m4/vsnprintf-posix.m4: New file.
35199         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
35200         gl_FUNC_VSNPRINTF.
35201         (gl_FUNC_VSNPRINTF): Invoke it.
35202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
35203         * lib/stdio_.h (vsnprintf): Define as a replacement if
35204         REPLACE_VSNPRINTF is set.
35205         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
35206
35207 2007-03-06  Bruno Haible  <bruno@clisp.org>
35208
35209         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
35210         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
35211
35212 2007-03-06  Bruno Haible  <bruno@clisp.org>
35213
35214         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
35215         (asinl): Declare also if HAVE_DECL_ASINL is set.
35216         (atanl): Declare also if HAVE_DECL_ATANL is set.
35217         (ceill): Declare also if HAVE_DECL_CEILL is set.
35218         (cosl): Declare also if HAVE_DECL_COSL is set.
35219         (expl): Declare also if HAVE_DECL_EXPL is set.
35220         (floorl): Declare also if HAVE_DECL_FLOORL is set.
35221         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
35222         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
35223         (logl): Declare also if HAVE_DECL_LOGL is set.
35224         (sinl): Declare also if HAVE_DECL_SINL is set.
35225         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
35226         (tanl): Declare also if HAVE_DECL_TANL is set.
35227         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
35228         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
35229         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
35230         declaration of frexpl, ldexpl.
35231         * modules/printf-frexpl (Depends-on): Add math.
35232         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
35233
35234 2007-03-05  Bruno Haible  <bruno@clisp.org>
35235
35236         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
35237         frexpl and ldexpl are declared.
35238         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
35239
35240 2007-03-05  Bruno Haible  <bruno@clisp.org>
35241
35242         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
35243         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
35244
35245 2007-03-05  Bruno Haible  <bruno@clisp.org>
35246
35247         * lib/stdio_.h: Include <stddef.h>.
35248
35249 2007-03-05  Bruno Haible  <bruno@clisp.org>
35250
35251         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
35252
35253 2007-03-05  Bruno Haible  <bruno@clisp.org>
35254
35255         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
35256         NetBSD 4, from Ralf Wildenhues.
35257
35258 2007-03-04  Bruno Haible  <bruno@clisp.org>
35259
35260         * lib/vasprintf.h: Update #if logic for the case when the functions
35261         exist but are overridden.
35262
35263 2007-03-04  Bruno Haible  <bruno@clisp.org>
35264
35265         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
35266         implementations: glibc-2.4 and MacOS X 10.3.
35267         * tests/test-vasnprintf-posix.c (test_function): Test also the case
35268         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
35269         * tests/test-vasprintf-posix.c (test_function): Likewise.
35270
35271 2007-03-04  Bruno Haible  <bruno@clisp.org>
35272
35273         * modules/vasprintf-posix-tests: New file.
35274         * tests/test-vasprintf-posix.c: New file.
35275
35276         * modules/vasprintf-posix: New file.
35277         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
35278         defined.
35279         * m4/vasprintf-posix.m4: New file.
35280         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
35281         gl_FUNC_VASPRINTF.
35282         (gl_FUNC_VASPRINTF): Invoke it.
35283         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
35284         here.
35285         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
35286
35287 2007-03-04  Bruno Haible  <bruno@clisp.org>
35288
35289         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
35290         REPLACE_GETTIMEOFDAY.
35291         * modules/sys_time (Makefile.am): Likewise.
35292         * m4/sys_time_h.m4: Likewise.
35293         * m4/gettimeofday.m4: Likewise.
35294
35295 2007-03-04  Bruno Haible  <bruno@clisp.org>
35296
35297         * modules/vasnprintf-posix-tests: New file.
35298         * tests/test-vasnprintf-posix.c: New file.
35299
35300         * modules/vasnprintf-posix: New file.
35301         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
35302         printf-frexpl.h.
35303         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
35304         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
35305         REPLACE_VASNPRINTF is defined.
35306         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
35307         gl_FUNC_VASNPRINTF.
35308         (gl_FUNC_VASNPRINTF): Invoke it.
35309         * m4/vasnprintf-posix.m4: New file.
35310         * m4/printf.m4: New file.
35311
35312 2007-03-04  Bruno Haible  <bruno@clisp.org>
35313
35314         Compile progreloc.c only if --enable-relocatable is specified.
35315         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
35316         if --enable-relocatable was specified.
35317         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
35318         lib_SOURCES.
35319
35320 2007-03-04  Jim Meyering  <jim@meyering.net>
35321
35322         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
35323         Use it consistently, rather than enumerating errno constants.
35324
35325 2007-03-04  Bruno Haible  <bruno@clisp.org>
35326
35327         * modules/xvasprintf-tests: New file.
35328         * tests/test-xvasprintf.c: New file.
35329
35330         * modules/vasprintf-tests: New file.
35331         * tests/test-vasprintf.c: New file.
35332
35333         * modules/vasnprintf-tests: New file.
35334         * tests/test-vasnprintf.c: New file.
35335
35336         * modules/vsnprintf-tests: New file.
35337         * tests/test-vsnprintf.c: New file.
35338
35339         * modules/snprintf-tests: New file.
35340         * tests/test-snprintf.c: New file.
35341
35342 2007-03-04  Bruno Haible  <bruno@clisp.org>
35343
35344         Compile relocatable.c only if --enable-relocatable is specified.
35345         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
35346         gl_RELOCATABLE_LIBRARY.
35347         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
35348         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
35349         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
35350         gl_RELOCATABLE_LIBRARY.
35351         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
35352         (Makefile.am): Remove lib_SOURCES.
35353         * modules/relocatable-lib-lgpl (configure.ac): Invoke
35354         gl_RELOCATABLE_LIBRARY.
35355         (Makefile.am): Remove lib_SOURCES.
35356         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
35357         always.
35358         * modules/relocatable-prog-wrapper (configure.ac): Invoke
35359         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
35360
35361 2007-03-04  Bruno Haible  <bruno@clisp.org>
35362
35363         * modules/argmatch-tests: New file.
35364         * tests/test-argmatch.c: New file.
35365
35366         * tests/test-allocsa.c (main): Halve the number of loop runs.
35367
35368         * modules/alloca-opt-tests: New file.
35369         * tests/test-alloca-opt.c: New file.
35370
35371 2007-03-04  Jim Meyering  <jim@meyering.net>
35372
35373         Work around difference between Linux ACLs and Solaris 10 ZFS.
35374         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
35375         for EINVAL.
35376
35377 2007-03-03  Bruno Haible  <bruno@clisp.org>
35378
35379         * modules/relocatable-prog (Depends-on): Add back progreloc's
35380         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
35381
35382 2007-03-03  Bruno Haible  <bruno@clisp.org>
35383
35384         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
35385         * modules/relocatable-lib: New file.
35386
35387 2007-03-03  Bruno Haible  <bruno@clisp.org>
35388
35389         * modules/relocatable-prog: Renamed from modules/relocatable.
35390         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
35391
35392 2007-03-03  Bruno Haible  <bruno@clisp.org>
35393
35394         * modules/relocatable-script (Files): Add doc/relocatable.texi,
35395         m4/relocatable-lib.m4.
35396         (Depends-on): Remove 'relocatable'.
35397         (configure.ac): Add gl_RELOCATABLE_NOP.
35398
35399 2007-03-03  Bruno Haible  <bruno@clisp.org>
35400
35401         * modules/relocatable-prog-wrapper: New file.
35402         * modules/relocatable (Depends-on): Add it. Remove all other
35403         dependencies except progname.
35404         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
35405
35406         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
35407         (gl_FUNC_STRERROR): Nop.
35408         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
35409
35410         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
35411         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
35412
35413         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
35414         (gl_FUNC_READLINK): Update.
35415
35416         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
35417
35418 2007-03-03  Bruno Haible  <bruno@clisp.org>
35419
35420         * lib/xreadlink.c: Include <unistd.h> unconditionally.
35421         * modules/xreadlink (Depends-on): Add unistd.
35422         * modules/xreadlink-with-size (Depends-on): Likewise.
35423
35424 2007-03-03  Bruno Haible  <bruno@clisp.org>
35425
35426         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
35427         extracted from gt_FUNC_SETENV.
35428         (gt_FUNC_SETENV): Remove macro.
35429         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
35430         remove gt_FUNC_SETENV.
35431
35432 2007-03-03  Bruno Haible  <bruno@clisp.org>
35433
35434         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
35435         ENABLE_RELOCATABLE here.
35436         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
35437
35438 2007-03-03  Bruno Haible  <bruno@clisp.org>
35439
35440         * modules/rbtreehash-list-tests (Depends-on): Add progname.
35441         * tests/test-rbtreehash_list.c: Include progname.h.
35442         (main): Call set_program_name.
35443
35444         * modules/rbtree-oset-tests (Depends-on): Add progname.
35445         * tests/test-rbtree_oset.c: Include progname.h.
35446         (main): Call set_program_name.
35447
35448         * modules/rbtree-list-tests (Depends-on): Add progname.
35449         * tests/test-rbtree_list.c: Include progname.h.
35450         (main): Call set_program_name.
35451
35452         * modules/linked-list-tests (Depends-on): Add progname.
35453         * tests/test-linked_list.c: Include progname.h.
35454         (main): Call set_program_name.
35455
35456 2007-03-03  Bruno Haible  <bruno@clisp.org>
35457
35458         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
35459         All uses of __restrict changed to _Restrict_.
35460         * lib/glob_.h (__restrict): Remove macro.
35461
35462 2007-03-02  Bruno Haible  <bruno@clisp.org>
35463
35464         * modules/gettext (configure.ac): Require gettext infrastructure
35465         from version 0.16.1.
35466
35467 2007-03-02  Bruno Haible  <bruno@clisp.org>
35468
35469         * modules/linkedhash-list-tests (Depends-on): Add progname.
35470         * tests/test-linkedhash_list.c: Include progname.h.
35471         (main): Call set_program_name.
35472
35473         * modules/carray-list-tests (Depends-on): Add progname.
35474         * tests/test-carray_list.c: Include progname.h.
35475         (main): Call set_program_name.
35476
35477         * modules/avltreehash-list-tests (Depends-on): Add progname.
35478         * tests/test-avltreehash_list.c: Include progname.h.
35479         (main): Call set_program_name.
35480
35481         * modules/avltree-oset-tests (Depends-on): Add progname.
35482         * tests/test-avltree_oset.c: Include progname.h.
35483         (main): Call set_program_name.
35484
35485         * modules/avltree-list-tests (Depends-on): Add progname.
35486         * tests/test-avltree_list.c: Include progname.h.
35487         (main): Call set_program_name.
35488
35489         * modules/array-oset-tests (Depends-on): Add progname.
35490         * tests/test-array_oset.c: Include progname.h.
35491         (main): Call set_program_name.
35492
35493         * modules/array-list-tests (Depends-on): Add progname.
35494         * tests/test-array_list.c: Include progname.h.
35495         (main): Call set_program_name.
35496
35497         * modules/argp-tests (Depends-on): Add progname.
35498         * tests/test-argp.c: Include argp.h first. Include progname.h.
35499         (main): Call set_program_name.
35500
35501 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
35502
35503         * doc/gnulib-tool.texi (Initial import): Reword description of
35504         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
35505         limited effect even if defined after the first system include.
35506
35507 2007-03-01  Bruno Haible  <bruno@clisp.org>
35508
35509         * build-aux/config.libpath: Update to libtool-1.5.22.
35510         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35511
35512 2007-03-01  Bruno Haible  <bruno@clisp.org>
35513
35514         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
35515         foo_CFLAGS.
35516         Reported by Ralf Wildenhues.
35517
35518 2007-03-01  Bruno Haible  <bruno@clisp.org>
35519
35520         * build-aux/install-reloc: Remove object files left over by some
35521         compilers.
35522         Reported by Ralf Wildenhues.
35523
35524 2007-03-01  Bruno Haible  <bruno@clisp.org>
35525
35526         * build-aux/install-reloc: Break long lines.
35527
35528 2007-03-01  Bruno Haible  <bruno@clisp.org>
35529
35530         * doc/relocatable.texi: Document that it may not work on OpenBSD.
35531         Reported by Ralf Wildenhues.
35532
35533 2007-03-01  Bruno Haible  <bruno@clisp.org>
35534
35535         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
35536         include ordering constraints.
35537
35538 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
35539
35540         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
35541         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
35542         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
35543         as another example.
35544         * lib/time_.h: Fix misspelling.
35545         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
35546         Require gl_HEADER_TIME_H_DEFAULTS.
35547         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
35548         * m4/time_r.m4 (gl_TIME_R): Likewise.
35549         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
35550
35551 2007-03-01  Bruno Haible  <bruno@clisp.org>
35552
35553         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
35554         * m4/utimens.m4 (gl_UTIMENS): Likewise.
35555
35556 2007-03-01  Jim Meyering  <jim@meyering.net>
35557
35558         * modules/xreadlink (Maintainer): Add my name.
35559         * modules/xreadlink-with-size (Depends-on): Alphabetize.
35560
35561 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
35562             Bruno Haible  <bruno@clisp.org>
35563
35564         * build-aux/install-reloc: Compile also c-ctype.c.
35565         * build-aux/relocatable.sh.in: New file.
35566         * doc/relocatable.texi: New file.
35567         * doc/relocatable-maint.texi: New file.
35568         * doc/gnulib.texi: Include relocatable-maint.texi.
35569         * lib/progreloc.c: Include unistd.h unconditionally.
35570         * lib/relocwrapper.c: Include unistd.h unconditionally.
35571         Include c-ctype.h.
35572         (add_dotbin): Use c_tolower.
35573         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
35574         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
35575         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
35576         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
35577         to m4/relocatable-lib.m4.
35578         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
35579         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
35580         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
35581         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
35582         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
35583         * modules/relocatable: New file.
35584         * modules/relocatable-lib: New file.
35585         * modules/relocatable-script: New file.
35586
35587 2007-02-28  Bruno Haible  <bruno@clisp.org>
35588
35589         Import --enable-relocatable infrastructure.
35590         * build-aux/config.libpath: New file, from GNU gettext.
35591         * build-aux/install-reloc: New file, from GNU gettext.
35592         * build-aux/reloc-ldflags: New file, from GNU gettext.
35593         * lib/relocatable.h: New file, from GNU gettext.
35594         * lib/relocatable.c: New file, from GNU gettext.
35595         * lib/relocwrapper.c: New file, from GNU gettext.
35596         * m4/relocatable.m4: New file, from GNU gettext.
35597
35598 2007-02-28  Bruno Haible  <bruno@clisp.org>
35599
35600         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
35601
35602         * modules/xreadlink: New file, from GNU gettext with modifications.
35603         * lib/xreadlink.c: New file, from GNU gettext.
35604         * lib/xreadlink.h: Add comments.
35605         (xreadlink): New declaration.
35606
35607         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
35608         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
35609         lib/xreadlink-with-size.c.
35610         (configure.ac): Remove gl_XREADLINK invocation.
35611         (Makefile.am): Augment lib_SOURCES.
35612         * m4/xreadlink.m4: Remove file.
35613         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
35614         (xreadlink_with_size): Renamed from xreadink.
35615         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
35616         * modules/canonicalize (Depends-on): Replace xreadlink with
35617         xreadlink-with-size.
35618         * lib/canonicalize.c (canonicalize_filename_mode): Update.
35619
35620 2007-02-25  Jim Meyering  <jim@meyering.net>
35621
35622         * build-aux/announce-gen: When complaining about excess arguments,
35623         list them.
35624
35625 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35626
35627         * README: Document signed integer overflow situation more
35628         accurately.
35629
35630 2007-02-25  Bruno Haible  <bruno@clisp.org>
35631
35632         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
35633         'a' or 'A' conversion.
35634
35635 2007-02-25  Bruno Haible  <bruno@clisp.org>
35636
35637         * modules/filename: Renamed from modules/pathname.
35638         (Files): Replace lib/pathname.h with lib/filename.h. Replace
35639         lib/concatpath.c with lib/concat-filename.c.
35640         (Makefile.am): Update.
35641         (Include): Replace pathname.h with filename.h.
35642         * lib/filename.h: Renamed from lib/pathname.h.
35643         (concatenated_filename): Renamed from concatenated_pathname.
35644         * lib/concat-filename.c: Renamed from lib/concatpath.c.
35645         (concatenated_filename): Renamed from concatenated_pathname.
35646         * lib/findprog.c: Include filename.h instead of pathname.h.
35647         (find_in_path): Update.
35648         * lib/javacomp.c: Include filename.h instead of pathname.h.
35649         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35650         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35651         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35652         is_oldgcj_14_13_usable, is_javac_usable): Update.
35653         * lib/javaexec.c: Include filename.h instead of pathname.h.
35654         (execute_java_class): Update.
35655         * modules/findprog: Update.
35656         * modules/javacomp: Update.
35657         * modules/javaexec: Update.
35658         * MODULES.html.sh (File system functions): Add 'filename', remove
35659         'pathname'.
35660
35661 2007-02-25  Bruno Haible  <bruno@clisp.org>
35662
35663         * modules/printf-frexpl-tests: New file.
35664         * tests/test-printf-frexpl.c: New file.
35665
35666         * modules/printf-frexpl: New file.
35667         * lib/printf-frexpl.h: New file.
35668         * lib/printf-frexpl.c: New file.
35669         * m4/printf-frexpl.m4: New file.
35670
35671 2007-02-25  Bruno Haible  <bruno@clisp.org>
35672
35673         * modules/printf-frexp-tests: New file.
35674         * tests/test-printf-frexp.c: New file.
35675
35676         * modules/printf-frexp: New file.
35677         * lib/printf-frexp.h: New file.
35678         * lib/printf-frexp.c: New file.
35679         * m4/printf-frexp.m4: New file.
35680
35681 2007-02-25  Bruno Haible  <bruno@clisp.org>
35682
35683         Assume automake >= 1.10 for the tests.
35684         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
35685         * modules/arctwo-tests: Likewise.
35686         * modules/argp-tests: Likewise.
35687         * modules/avltree-list-tests: Likewise.
35688         * modules/avltree-oset-tests: Likewise.
35689         * modules/avltreehash-list-tests: Likewise.
35690         * modules/carray-list-tests: Likewise.
35691         * modules/crc-tests: Likewise.
35692         * modules/des-tests: Likewise.
35693         * modules/gc-arcfour-tests: Likewise.
35694         * modules/gc-arctwo-tests: Likewise.
35695         * modules/gc-des-tests: Likewise.
35696         * modules/gc-hmac-md5-tests: Likewise.
35697         * modules/gc-hmac-sha1-tests: Likewise.
35698         * modules/gc-md2-tests: Likewise.
35699         * modules/gc-md4-tests: Likewise.
35700         * modules/gc-md5-tests: Likewise.
35701         * modules/gc-pbkdf2-sha1-tests: Likewise.
35702         * modules/gc-rijndael-tests: Likewise.
35703         * modules/gc-sha1-tests: Likewise.
35704         * modules/gc-tests: Likewise.
35705         * modules/getaddrinfo-tests: Likewise.
35706         * modules/hmac-md5-tests: Likewise.
35707         * modules/hmac-sha1-tests: Likewise.
35708         * modules/linked-list-tests: Likewise.
35709         * modules/linkedhash-list-tests: Likewise.
35710         * modules/lock-tests: Likewise.
35711         * modules/md2-tests: Likewise.
35712         * modules/md4-tests: Likewise.
35713         * modules/md5-tests: Likewise.
35714         * modules/rbtree-list-tests: Likewise.
35715         * modules/rbtree-oset-tests: Likewise.
35716         * modules/rbtreehash-list-tests: Likewise.
35717         * modules/read-file-tests: Likewise.
35718         * modules/rijndael-tests: Likewise.
35719         * modules/stdint-tests: Likewise.
35720         * modules/tls-tests: Likewise.
35721
35722 2007-02-24  Bruno Haible  <bruno@clisp.org>
35723
35724         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
35725         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
35726         function; instead check whether isnan with a double argument links.
35727         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
35728         function; instead check whether isnan with a 'long double' argument
35729         links.
35730         Reported by Eric Blake <ebb9@byu.net>.
35731
35732 2007-02-24  Bruno Haible  <bruno@clisp.org>
35733
35734         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
35735         defined.
35736         * lib/isnanl.c: Remove all code. Just include isnan.c.
35737         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
35738
35739 2007-02-25  Jim Meyering  <jim@meyering.net>
35740
35741         Avoid conflicting types for 'unsetenv' on FreeBSD.
35742         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
35743         conflicting with FreeBSD's (5.0 and 6.1) function declaration
35744         in stdlib.h.
35745
35746 2007-02-24  Bruno Haible  <bruno@clisp.org>
35747
35748         * modules/isnanl-nolibm-tests: New file.
35749         * tests/test-isnanl.c: New file.
35750
35751         * modules/isnanl-nolibm: New file.
35752         * lib/isnanl.h: New file.
35753         * lib/isnanl.c: New file.
35754         * m4/isnanl.m4: New file.
35755
35756 2007-02-24  Bruno Haible  <bruno@clisp.org>
35757
35758         * modules/isnan-nolibm-tests: New file.
35759         * tests/test-isnan.c: New file.
35760
35761         * modules/isnan-nolibm: New file.
35762         * lib/isnan.h: New file.
35763         * lib/isnan.c: New file.
35764         * m4/isnan.m4: New file.
35765
35766 2007-02-24  Bruno Haible  <bruno@clisp.org>
35767
35768         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
35769         assume that an exponent fits in 20 bits.
35770
35771 2007-02-24  Jim Meyering  <jim@meyering.net>
35772
35773         * m4/regex.m4: Update the description of the configure-time option,
35774         --without-included-regex, to state accurately what the defaults are,
35775         and perhaps to give people an idea why using this option is risky.
35776
35777 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
35778
35779         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
35780         loops on small arguments.  This attempts to avoid the problem
35781         Bruno Haible reported for AIX 4.3.2 in
35782         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
35783
35784 2007-02-23  Bruno Haible  <bruno@clisp.org>
35785
35786         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
35787         Needed for help2man.
35788
35789 2007-02-23  Karl Berry  <karl@gnu.org>
35790
35791         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
35792         exists, foo.h should be cvs-ignored, not committed.
35793
35794 2007-02-23  Eric Blake  <ebb9@byu.net>
35795
35796         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
35797         * lib/stat-time.h (includes): Likewise.
35798         * lib/utimecmp.c (includes): Likewise.
35799         * lib/utimens.h (includes): Likewise.
35800         * lib/getdate.y (includes): Also include "timespec.h" for use
35801         internal to the module.
35802         * modules/utimens (Depends-on): Revert yesterday's patch.
35803         * modules/nanosleep (Depends-on): Add missing dependency.
35804
35805 2007-02-22  Bruno Haible  <bruno@clisp.org>
35806
35807         * lib/glob.c: Don't include getlogin_r.h.
35808
35809 2007-02-22  Jim Meyering  <jim@meyering.net>
35810
35811         * modules/utimens (Depends-on): Add timespec, required for
35812         utimens.h's inclusion of timespec.h.
35813
35814 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
35815
35816         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
35817         long unreadable paths in GNU/Linux.  Problem reported by Andreas
35818         Schwab in
35819         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
35820         I'll try to think of a better way to fix the Solaris problem.
35821
35822         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
35823         like glibc; on Solaris 10, it fails with errno == EINVAL.
35824         POSIX says the behavior is unspecified if the first argument is NULL,
35825         so play it safe and never pass NULL to the system getcwd.
35826
35827 2007-02-21  Jim Meyering  <jim@meyering.net>
35828
35829         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
35830         of gettimeofday.  It would conflict with the one now always
35831         provided via sys_time_.h.  Reported by Matthew Woehlke, as
35832         an IRIX 6.5 build failure.
35833
35834 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35835
35836         Minor fixups to port to Solaris 10 with Sun C 5.8.
35837         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
35838         * modules/getcwd (Depends-on): Add dirfd.
35839         * lib/putenv.c (putenv): #undef it.
35840         (rpl_putenv): New decl.
35841         (malloc, free): Include <stdlib.h> rather than prototyping separately.
35842
35843 2007-02-20  Bruno Haible  <bruno@clisp.org>
35844
35845         * modules/stdio-tests: New file.
35846         * tests/test-stdio.c: New file.
35847
35848         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
35849         (Depends-on): Add stdio.
35850         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35851         (Include): Use <stdio.h> instead of vsnprintf.h.
35852         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
35853         HAVE_DECL_VSNPRINTF.
35854         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
35855
35856         * modules/snprintf (Files): Remove lib/snprintf.h.
35857         (Depends-on): Add stdio.
35858         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35859         (Include): Use <stdio.h> instead of snprintf.h.
35860         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
35861         HAVE_DECL_SNPRINTF.
35862         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
35863         * lib/getaddrinfo.c: Likewise.
35864
35865         * modules/stdio: New file.
35866         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
35867         * lib/snprintf.h: Remove file.
35868         * lib/vsnprintf.h: Remove file.
35869         * lib/.cppi-disable: Remove snprintf.h.
35870         * m4/stdio_h.m4: New file.
35871         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
35872
35873 2007-02-20  Jim Meyering  <jim@meyering.net>
35874
35875         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
35876         used by e.g., mingw.  From Bruno Haible.
35877
35878 2007-02-19  Bruno Haible  <bruno@clisp.org>
35879
35880         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
35881         warnings.
35882         Reported by Ben Pfaff <blp@cs.stanford.edu>.
35883
35884 2007-02-19  Bruno Haible  <bruno@clisp.org>
35885
35886         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
35887         from mingw users.
35888
35889 2007-02-19  Bruno Haible  <bruno@clisp.org>
35890
35891         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
35892         warnings.
35893         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
35894
35895 2007-02-19  Jim Meyering  <jim@meyering.net>
35896
35897         Don't use FD after a successful "fdopendir (fd)".
35898         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
35899         Reset it by calling dirfd on the just-obtained DIR*.
35900
35901         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
35902         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
35903
35904 2007-02-18  Bruno Haible  <bruno@clisp.org>
35905
35906         * lib/readlink.c: Include <unistd.h>.
35907         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
35908         HAVE_READLINK.
35909         * modules/readlink (Depends-on): Add unistd.
35910         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35911         (Include): Add <unistd.h>.
35912
35913         * lib/getlogin_r.h: Remove file.
35914         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
35915         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
35916         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
35917         HAVE_DECL_GETLOGIN_R.
35918         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
35919         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35920         (Include): Use <unistd.h> instead of getlogin_r.h.
35921
35922         * lib/getcwd.h: Remove file.
35923         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
35924         * lib/xgetcwd.c: Likewise.
35925         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
35926         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
35927         * modules/getcwd (Files): Remove lib/getcwd.h.
35928         (Depends-on): Add unistd.
35929         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35930         (Include): Use <unistd.h> instad of getcwd.h.
35931
35932         * lib/ftruncate.c: Include <unistd.h> first.
35933         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
35934         Set HAVE_FTRUNCATE.
35935         * modules/ftruncate (Depends-on): Add unistd.
35936         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35937
35938         * lib/fchdir.c: Include <unistd.h> first.
35939         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
35940         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
35941         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
35942         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35943         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
35944
35945         * lib/dup2.c: Include <unistd.h> first.
35946         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
35947         HAVE_DUP2.
35948         * modules/dup2 (Depends-on): Add unistd.
35949         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35950
35951         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
35952         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
35953         REPLACE_CHOWN. Don't define chown as a macro here.
35954         * modules/chown (Depends-on): Add unistd.
35955         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35956
35957         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
35958         Add definition for GL_LINK_WARNING.
35959         (chown, dup2): New declarations.
35960         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
35961         link warning.
35962         (ftruncate): New declaration.
35963         (getcwd): New declaration, taken from old getcwd.h.
35964         (getlogin_r): New declaration, taken from old getlogin_r.h.
35965         (readlink): New declaration.
35966         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
35967         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
35968         (gl_PREREQ_UNISTD): Remove macro.
35969         (gl_UNISTD_MODULE_INDICATOR): New macro.
35970         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
35971         many new variables. Don't set UNISTD_H.
35972         * modules/unistd (Description): Change.
35973         (Depends-on): Add link-warning.
35974         (configure.ac): Update.
35975         (Makefile.am): Create unistd.h always. Substitute many new variables
35976         into it.
35977
35978 2007-02-18  Bruno Haible  <bruno@clisp.org>
35979
35980         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
35981         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
35982         HAVE_GETSUBOPT.
35983         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
35984         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
35985         * lib/getsubopt.h: Remove file.
35986         * modules/getsubopt (Files): Remove lib/getsubopt.h.
35987         (Depends-on): Add stdlib.
35988         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35989         (Includes): Use <stdlib.h> instead of getsubopt.h.
35990         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
35991         Set HAVE_GETSUBOPT.
35992         * lib/getsubopt.c: Don't include getsubopt.h.
35993
35994 2007-02-18  Bruno Haible  <bruno@clisp.org>
35995
35996         * modules/fchdir (Depends-on): Add dup2.
35997
35998 2007-02-18  Bruno Haible  <bruno@clisp.org>
35999
36000         * lib/stdlib_.h: Handle glibc's special invocation convention
36001         specially.
36002
36003 2007-02-18  Bruno Haible  <bruno@clisp.org>
36004
36005         * modules/stdlib-tests: New file.
36006         * tests/test-stdlib.c: New file.
36007
36008         * modules/mkstemp (Files): Remove lib/mkstemp.h.
36009         (Depends-on): Add stdlib.
36010         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36011         (Includes): Use <stdlib.h> instead of mkstemp.h.
36012         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
36013         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
36014         * lib/mkstemp.c: Don't include mkstemp.h.
36015         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
36016         * lib/stdlib--.h: Don't include mkstemp.h.
36017
36018         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
36019         (Depends-on): Add stdlib.
36020         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36021         (Includes): Use <stdlib.h> instead of mkdtemp.h.
36022         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
36023         HAVE_MKDTEMP.
36024         * lib/mkdtemp.c: Don't include mkdtemp.h.
36025         * lib/clean-temp.c: Don't include mkdtemp.h.
36026
36027         * modules/exit (Files): Remove lib/exit.h.
36028         (Depends-on): Add stdlib.
36029         (Makefile.am): Remove lib_SOURCES.
36030         (Include): Use <stdlib.h> instead of exit.h.
36031         * lib/argmatch.c: Don't include exit.h.
36032         * lib/execute.c: Likewise.
36033         * lib/pagealign_alloc.c: Likewise.
36034         * lib/pipe.c: Likewise.
36035         * lib/wait-process.c: Likewise.
36036         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
36037         * lib/exitfail.c: Likewise.
36038         * lib/savewd.c: Likewise.
36039         * lib/xsetenv.c: Likewise.
36040
36041         * modules/stdlib: New file.
36042         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
36043         and extra comments about mkstemp().
36044         * lib/exit.h: Remove file.
36045         * lib/mkdtemp.h: Remove file.
36046         * lib/mkstemp.h: Remove file.
36047         * m4/stdlib_h.m4: New file.
36048         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
36049
36050 2007-02-18  Bruno Haible  <bruno@clisp.org>
36051
36052         * modules/math-tests: New file.
36053         * tests/test-math.c: New file.
36054
36055         * modules/math: New file.
36056         * modules/mathl (Files): Remove lib/mathl.h.
36057         (Depends-on): Add math.
36058         (Makefile.am): Don't mention mathl.h.
36059         (Include): Use <math.h> instead of mathl.h.
36060         * lib/math_.h: New file.
36061         * lib/mathl.h: Remove file.
36062         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
36063         mathl.h.
36064         * lib/asinl.c: Likewise.
36065         * lib/atanl.c: Likewise.
36066         * lib/ceill.c: Likewise.
36067         * lib/cosl.c: Likewise.
36068         * lib/expl.c: Likewise.
36069         * lib/floorl.c: Likewise.
36070         * lib/frexpl.c: Likewise.
36071         * lib/ldexpl.c: Likewise.
36072         * lib/logl.c: Likewise.
36073         * lib/sincosl.c: Likewise.
36074         * lib/sinl.c: Likewise.
36075         * lib/sqrtl.c: Likewise.
36076         * lib/tanl.c: Likewise.
36077         * lib/trigl.c: Likewise.
36078         * m4/math_h.m4: New file.
36079         * MODULES.html.sh (Mathematics): Add math.
36080
36081 2007-02-17  Bruno Haible  <bruno@clisp.org>
36082
36083         * modules/wctype-tests: New file.
36084         * tests/test-wctype.c: New file.
36085
36086         * modules/wchar-tests: New file.
36087         * tests/test-wchar.c: New file.
36088
36089         * modules/unistd-tests: New file.
36090         * tests/test-unistd.c: New file.
36091
36092         * modules/time-tests: New file.
36093         * tests/test-time.c: New file.
36094
36095         * modules/sysexits-tests: New file.
36096         * tests/test-sysexits.c: New file.
36097
36098         * modules/sys_time-tests: New file.
36099         * tests/test-sys_time.c: New file.
36100
36101         * modules/sys_stat-tests: New file.
36102         * tests/test-sys_stat.c: New file.
36103
36104         * modules/sys_socket-tests: New file.
36105         * tests/test-sys_socket.c: New file.
36106
36107         * modules/sys_select-tests: New file.
36108         * tests/test-sys_select.c: New file.
36109
36110         * modules/string-tests: New file.
36111         * tests/test-string.c: New file.
36112
36113         * modules/stdbool-tests: New file.
36114         * tests/test-stdbool.c: New file.
36115
36116         * modules/netinet_in-tests: New file.
36117         * tests/test-netinet_in.c: New file.
36118
36119         * modules/inttypes-tests: New file.
36120         * tests/test-inttypes.c: New file.
36121
36122         * modules/fcntl-tests: New file.
36123         * tests/test-fcntl.c: New file.
36124
36125         * modules/byteswap-tests: New file.
36126         * tests/test-byteswap.c: New file.
36127
36128         * modules/arpa_inet-tests: New file.
36129         * tests/test-arpa_inet.c: New file.
36130
36131 2007-02-17  Bruno Haible  <bruno@clisp.org>
36132
36133         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
36134         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
36135         if the corresponding module is not enabled. Emit link warnings if
36136         the function is used nevertheless.
36137         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
36138         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
36139         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
36140         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
36141         * modules/inttypes (Depends-on): Add link-warning.
36142         (Makefile.am): Copy the contents of build-aux/link-warning.h into
36143         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
36144         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
36145         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
36146         * modules/imaxdiv (configure.ac): Likewise.
36147         * modules/strtoimax (configure.ac): Likewise.
36148         * modules/strtoumax (configure.ac): Likewise.
36149
36150 2007-02-17  Bruno Haible  <bruno@clisp.org>
36151
36152         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
36153         gl_STRING_MODULE_INDICATOR_DEFAULTS.
36154         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
36155         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
36156
36157 2007-02-17  Bruno Haible  <bruno@clisp.org>
36158
36159         * modules/link-warning: New file.
36160         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
36161         * lib/string_.h (GL_LINK_WARNING): Remove definition.
36162         * modules/string (Depends-on): Add link-warning.
36163         (Makefile.am): Copy the contents of build-aux/link-warning.h into
36164         string.h.
36165         * MODULES.html.sh (Support for building libraries and executables): Add
36166         link-warning.
36167
36168 2007-02-17  Bruno Haible  <bruno@clisp.org>
36169
36170         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
36171         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
36172         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
36173         long lines.
36174
36175 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
36176             Bruno Haible  <bruno@clisp.org>
36177
36178         * modules/tmpfile: New file.
36179         * lib/tmpfile.c: New file.
36180         * m4/tmpfile.m4: New file.
36181         * MODULES.html.sh (func_all_modules): New section "Input/output".
36182
36183 2007-02-15  Bruno Haible  <bruno@clisp.org>
36184
36185         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
36186         (supports_delete_on_close): New function.
36187         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
36188
36189 2007-02-14  Bruno Haible  <bruno@clisp.org>
36190
36191         * modules/mbspcasecmp-tests: New file.
36192         * tests/test-mbspcasecmp.sh: New file.
36193         * tests/test-mbspcasecmp.c: New file.
36194
36195         New module mbspcasecmp.
36196         * modules/mbspcasecmp: New file.
36197         * lib/mbspcasecmp.c: New file.
36198         * lib/string_.h (strncasecmp): Change warning message.
36199         (mbspcasecmp): New declaration.
36200         * m4/mbspcasecmp.m4: New file.
36201         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36202         GNULIB_MBSPCASECMP.
36203         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
36204         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
36205
36206 2007-02-14  Bruno Haible  <bruno@clisp.org>
36207
36208         * modules/mbsncasecmp-tests: New file.
36209         * tests/test-mbsncasecmp.sh: New file.
36210         * tests/test-mbsncasecmp.c: New file.
36211
36212         New module mbsncasecmp.
36213         * modules/mbsncasecmp: New file.
36214         * lib/mbsncasecmp.c: New file.
36215         * lib/string_.h (mbsncasecmp): New declaration.
36216         * m4/mbsncasecmp.m4: New file.
36217         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36218         GNULIB_MBSNCASECMP.
36219         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
36220         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
36221
36222 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
36223
36224         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
36225         Verify that it doesn't overlap with our flags.
36226         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
36227         do not have the desired effect in multibyte locales; instead, use
36228         mbscasecmp.
36229         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
36230         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
36231         we don't require GNU fnmatch ourselves (if our users require it, they
36232         should do so explicitly).
36233
36234         Fix regex code so it doesn't rely on strcasecmp.
36235         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
36236         Otherwise, include gnulib's langinfo.h.
36237         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
36238         undesirable behavior in non-C locales.  Instead, rely on localecharset.
36239         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
36240         * modules/regex (FILES): Remove m4/codeset.m4.
36241         (Depends-on): Add localcharset.  Remove strcase.
36242
36243 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36244
36245         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
36246         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
36247
36248 2007-02-13  Bruno Haible  <bruno@clisp.org>
36249
36250         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
36251         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36252
36253 2007-02-12  Bruno Haible  <bruno@clisp.org>
36254
36255         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
36256         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
36257         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
36258         time warning rather than a link error.
36259
36260 2007-02-12  Bruno Haible  <bruno@clisp.org>
36261
36262         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
36263         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
36264         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36265
36266 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
36267
36268         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
36269         args, not 2.
36270
36271 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
36272
36273         New module 'time', so that apps can include <time.h> as per
36274         POSIX and GNU instead of separate include files like time_r.h
36275         and timegm.h.  This implementation tries out a simpler approach
36276         for replacing decls in standard include files (as compared to
36277         the string module), somewhat as an experiment.
36278
36279         * config/srclist.txt: Comment out mktime.c for now.
36280         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
36281         since it doesn't apply any more.  Use generic wording instead.
36282         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
36283         'time'.
36284         * lib/time_.h, m4/time_h.m4, modules/time: New files.
36285         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
36286         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
36287         Don't include <sys/types.h>; no longer needed since we assume C89.
36288         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
36289         * lib/strftime.c: Likewise.
36290         * lib/time_r.c: Likewise.
36291         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
36292         * lib/nanosleep.c: Include <time.h> first, to check interface.
36293         * lib/strptime.c: Likewise.
36294         * lib/time_r.c: Likewise.
36295         * lib/timegm.c: Likewise.
36296         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
36297         needed.
36298         * lib/timegm.c: Don't include timegm.h; no longer needed.
36299         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
36300         time.h now handles any problems in that area.
36301         (struct timespec, nanosleep): Remove; time.h now arranges for these.
36302         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
36303         that time.h defines struct timespec.
36304         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
36305         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
36306         handles that.
36307         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
36308         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
36309         needed.  Set REPLACE_LOCALTIME.
36310         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
36311         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
36312         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
36313         nanosleep; time_h.m4 now does that.  Don't require
36314         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
36315         module handles this now.
36316         * modules/getdate (Depends-on): Remove timespec.  Add time.
36317         * modules/nanosleep (Depends-on): Likewise.
36318         * modules/stat-time (Depends-on): Likewise.
36319         * modules/nanosleep (Include): Include time.h, not timespec.h.
36320         * modules/strptime (Files): Remove lib/strptime.h.
36321         (Depends-on): Add extensions, time.
36322         (Include): Include time.h, not strptime.h.
36323         * modules/time_r (Files): Remove lib/time_r.h.
36324         (Depends-on): Add time.
36325         (Include): Include time.h, not time_r.h.
36326         * modules/timegm: Likewise.
36327         * modules/timespec (Description): Now does timespec-related decls
36328         of our own, instead of struct timespec itself.
36329         (Depends-on): Add time; remove extensions.
36330         (Maintainer): Add self.
36331         * modules/utimecmp (Depends-on): Add time; remove timespec.
36332         * modules/utimens (Depends-on): Likewise.
36333         * modules/xnanosleep (Depends-on): Likewise.
36334
36335 2007-02-11  Bruno Haible  <bruno@clisp.org>
36336
36337         * lib/c-strstr.c: Include allocsa.h.
36338         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
36339         * lib/c-strcasestr.c: Include allocsa.h.
36340         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
36341         * lib/strcasestr.c: Include allocsa.h.
36342         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
36343         * lib/mbsstr.c: Include allocsa.h.
36344         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
36345         allocsa/freesa instead of malloc/free.
36346         * lib/mbscasestr.c: Include allocsa.h.
36347         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
36348         allocsa/freesa instead of malloc/free.
36349         * modules/c-strstr (Depends-on): Add allocsa.
36350         * modules/c-strcasestr (Depends-on): Likewise.
36351         * modules/strcasestr (Depends-on): Likewise.
36352         * modules/mbsstr (Depends-on): Likewise.
36353         * modules/mbscasestr (Depends-on): Likewise.
36354
36355 2007-02-11  Bruno Haible  <bruno@clisp.org>
36356
36357         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
36358
36359         * modules/mbsspn-tests: New file.
36360         * tests/test-mbsspn.sh: New file.
36361         * tests/test-mbsspn.c: New file.
36362
36363 2007-02-11  Bruno Haible  <bruno@clisp.org>
36364
36365         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
36366
36367         * modules/mbspbrk-tests: New file.
36368         * tests/test-mbspbrk.sh: New file.
36369         * tests/test-mbspbrk.c: New file.
36370
36371 2007-02-11  Bruno Haible  <bruno@clisp.org>
36372
36373         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
36374         unneeded cast.
36375
36376         * modules/mbscspn-tests: New file.
36377         * tests/test-mbscspn.sh: New file.
36378         * tests/test-mbscspn.c: New file.
36379
36380 2007-02-11  Bruno Haible  <bruno@clisp.org>
36381
36382         * modules/mbscasecmp-tests: New file.
36383         * tests/test-mbscasecmp.sh: New file.
36384         * tests/test-mbscasecmp.c: New file.
36385
36386 2007-02-11  Bruno Haible  <bruno@clisp.org>
36387
36388         Ensure O(n) worst-case complexity of mbscasestr.
36389         * lib/mbscasestr.c: Include stdbool.h.
36390         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
36391         functions.
36392         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
36393         the bookkeeping indicates that it's worth it.
36394         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
36395
36396         * modules/mbscasestr-tests: New file.
36397         * tests/test-mbscasestr1.c: New file.
36398         * tests/test-mbscasestr2.sh: New file.
36399         * tests/test-mbscasestr2.c: New file.
36400         * tests/test-mbscasestr3.sh: New file.
36401         * tests/test-mbscasestr3.c: New file.
36402         * tests/test-mbscasestr4.sh: New file.
36403         * tests/test-mbscasestr4.c: New file.
36404         * m4/locale-tr.m4: New file.
36405
36406 2007-02-11  Bruno Haible  <bruno@clisp.org>
36407
36408         Ensure O(n) worst-case complexity of mbsstr.
36409         * lib/mbsstr.c: Include stdbool.h.
36410         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
36411         functions.
36412         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
36413         bookkeeping indicates that it's worth it.
36414         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
36415
36416         * modules/mbsstr-tests: New file.
36417         * tests/test-mbsstr1.c: New file.
36418         * tests/test-mbsstr2.sh: New file.
36419         * tests/test-mbsstr2.c: New file.
36420         * tests/test-mbsstr3.sh: New file.
36421         * tests/test-mbsstr3.c: New file.
36422         * m4/locale-fr.m4: New file.
36423
36424 2007-02-11  Bruno Haible  <bruno@clisp.org>
36425
36426         * lib/mbsrchr.c (mbsrchr): Fix bug.
36427
36428         * modules/mbsrchr-tests: New file.
36429         * tests/test-mbsrchr.sh: New file.
36430         * tests/test-mbsrchr.c: New file.
36431
36432 2007-02-11  Bruno Haible  <bruno@clisp.org>
36433
36434         * lib/mbschr.c (mbschr): Fix bug.
36435
36436         * modules/mbschr-tests: New file.
36437         * tests/test-mbschr.sh: New file.
36438         * tests/test-mbschr.c: New file.
36439         * m4/locale-zh.m4: New file.
36440
36441 2007-02-11  Bruno Haible  <bruno@clisp.org>
36442
36443         Support for copying multibyte string iterators.
36444         * lib/mbiter.h: Include <string.h>.
36445         (mbiter_multi_copy): New function.
36446         (mbi_copy): New macro.
36447         * lib/mbuiter.h: Include <string.h>.
36448         (mbuiter_multi_copy): New function.
36449         (mbui_copy): New macro.
36450
36451 2007-02-11  Bruno Haible  <bruno@clisp.org>
36452
36453         New module mbslen.
36454         * modules/mbslen: New file.
36455         * lib/mbslen.c: New file.
36456         * lib/string_.h (mbslen): New declaration.
36457         * m4/mbslen.m4: New file.
36458         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36459         GNULIB_MBSLEN.
36460         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
36461         * MODULES.html.sh (Internationalization functions): Add mbslen.
36462
36463 2007-02-11  Bruno Haible  <bruno@clisp.org>
36464
36465         Ensure O(n) worst-case complexity of strcasestr substitute.
36466         * lib/strcasestr.c: Include stdbool.h.
36467         (knuth_morris_pratt): New function.
36468         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36469         bookkeeping indicates that it's worth it.
36470         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
36471
36472         * modules/strcasestr-tests: New file.
36473         * tests/test-strcasestr.c: New file.
36474
36475 2007-02-11  Bruno Haible  <bruno@clisp.org>
36476
36477         Ensure O(n) worst-case complexity of c_strcasestr.
36478         * lib/c-strcasestr.c: Include stdbool.h, string.h.
36479         (knuth_morris_pratt): New function.
36480         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
36481         the bookkeeping indicates that it's worth it.
36482         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
36483
36484         * modules/c-strcasestr-tests: New file.
36485         * tests/test-c-strcasestr.c: New file.
36486
36487 2007-02-11  Bruno Haible  <bruno@clisp.org>
36488
36489         Ensure O(n) worst-case complexity of c_strstr.
36490         * lib/c-strstr.c: Include stdbool.h, string.h.
36491         (knuth_morris_pratt): New function.
36492         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36493         bookkeeping indicates that it's worth it.
36494         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
36495
36496         * lib/c-strstr.c: Complete rewrite for maintainability.
36497
36498         * modules/c-strstr-tests: New file.
36499         * tests/test-c-strstr.c: New file.
36500
36501 2007-02-11  Bruno Haible  <bruno@clisp.org>
36502
36503         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
36504         5.2.1 and earlier, whereby \055 was treated just like the range
36505         delimiter '-'.
36506         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36507
36508 2007-02-08  Bruno Haible  <bruno@clisp.org>
36509
36510         * modules/regex (Depends-on): Add stdbool.
36511         Reported by Dalibor Topic <robilad@kaffe.org>.
36512
36513 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
36514
36515         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
36516         Prefer returning from main to exiting from it.
36517         Remove unnecessary parens after sizeof.
36518
36519 2007-02-05  Bruno Haible  <bruno@clisp.org>
36520
36521         New module mbssep.
36522         * modules/mbssep: New file.
36523         * lib/mbssep.c: New file.
36524         * lib/string_.h (strsep): Add a conditional link warning.
36525         (mbssep): New declaration.
36526         * m4/mbssep.m4: New file.
36527         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36528         GNULIB_MBSSEP.
36529         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
36530         * MODULES.html.sh (Internationalization functions): Add mbssep.
36531
36532 2007-02-05  Bruno Haible  <bruno@clisp.org>
36533
36534         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
36535         Optimize search in case of 1 delimiter.
36536
36537 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36538
36539         * lib/acl.h: Include sys/types.h before sys/acl.h.
36540
36541 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36542
36543         Merge upstream fix for glibc bugzilla #3957:
36544
36545         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
36546
36547         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
36548         bit for RE_HAT_LISTS_NOT_NEWLINE.
36549         (build_charclass_op): Remove bogus comment.
36550
36551 2007-02-05  Simon Josefsson  <simon@josefsson.org>
36552
36553         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
36554
36555 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36556
36557         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
36558         * lib/memmem.c [!defined _LIBC]: Include config.h.
36559
36560 2007-02-04  Bruno Haible  <bruno@clisp.org>
36561
36562         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
36563         warning message.
36564
36565 2007-02-04  Bruno Haible  <bruno@clisp.org>
36566
36567         New module mbstok_r.
36568         * modules/mbstok_r: New file.
36569         * lib/mbstok_r.c: New file.
36570         * lib/string_.h (strtok_r): Change argument names to match the
36571         comments. Add a conditional link warning.
36572         (mbstok_r): New declaration.
36573         * m4/mbstok_r.m4: New file.
36574         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36575         GNULIB_MBSTOK_R.
36576         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
36577         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
36578
36579 2007-02-04  Bruno Haible  <bruno@clisp.org>
36580
36581         New module mbsspn.
36582         * modules/mbsspn: New file.
36583         * lib/mbsspn.c: New file.
36584         * lib/string_.h (strspn): Add a conditional link warning.
36585         (mbsspn): New declaration.
36586         * m4/mbsspn.m4: New file.
36587         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36588         GNULIB_MBSSPN.
36589         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
36590         * MODULES.html.sh (Internationalization functions): Add mbsspn.
36591
36592 2007-02-04  Bruno Haible  <bruno@clisp.org>
36593
36594         New module mbspbrk.
36595         * modules/mbspbrk: New file.
36596         * lib/mbspbrk.c: New file.
36597         * lib/string_.h (strpbrk): Add a conditional link warning.
36598         (mbspbrk): New declaration.
36599         * m4/mbspbrk.m4: New file.
36600         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36601         GNULIB_MBSPBRK.
36602         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
36603         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
36604
36605 2007-02-04  Bruno Haible  <bruno@clisp.org>
36606
36607         New module mbscspn.
36608         * modules/mbscspn: New file.
36609         * lib/mbscspn.c: New file.
36610         * lib/string_.h (strcspn): Add a conditional link warning.
36611         (mbscspn): New declaration.
36612         * m4/mbscspn.m4: New file.
36613         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36614         GNULIB_MBSCSPN.
36615         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
36616         * MODULES.html.sh (Internationalization functions): Add mbscspn.
36617
36618 2007-02-04  Bruno Haible  <bruno@clisp.org>
36619
36620         New module mbscasestr, reduced goal of strcasestr.
36621         * modules/mbscasestr: New file.
36622         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
36623         (mbscasestr): Renamed from strcasestr.
36624         * lib/strcasestr.c: Don't include mbuiter.h.
36625         (strcasestr): Remove support for multibyte locales.
36626         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
36627         Change the conditional link warning.
36628         (mbscasestr): New declaration.
36629         * m4/mbscasestr.m4: New file.
36630         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
36631         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
36632         REPLACE_STRCASESTR.
36633         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
36634         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36635         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
36636         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
36637         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
36638         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
36639         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
36640         (Depends-on): Remove mbuiter.
36641         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
36642
36643 2007-02-04  Bruno Haible  <bruno@clisp.org>
36644
36645         Simplify handling of strncasecmp.
36646         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
36647         the conditional link warning.
36648         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36649         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
36650         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
36651         * modules/strcase (configure.ac): Don't invoke
36652         gl_STRING_MODULE_INDICATOR.
36653         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
36654
36655 2007-02-04  Bruno Haible  <bruno@clisp.org>
36656
36657         New module mbscasecmp, reduced goal of strcasecmp.
36658         * modules/mbscasecmp: New file.
36659         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
36660         (mbscasecmp): Renamed from strcasecmp.
36661         * lib/strcasecmp.c: Don't include mbuiter.h.
36662         (strcasecmp): Remove support for multibyte locales.
36663         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
36664         Change the conditional link warning.
36665         (mbscasecmp): New declaration.
36666         * m4/mbscasecmp.m4: New file.
36667         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
36668         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
36669         REPLACE_STRCASECMP.
36670         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
36671         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36672         GNULIB_MBSCASECMP.
36673         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
36674         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
36675         * modules/strcase (Files): Remove m4/mbrtowc.m4.
36676         (Depends-on): Remove mbuiter.
36677         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
36678
36679 2007-02-04  Bruno Haible  <bruno@clisp.org>
36680
36681         New module mbsstr. Remove module strstr.
36682         * modules/mbsstr: New file.
36683         * modules/strstr: Remove file.
36684         * lib/mbsstr.c: Renamed from lib/strstr.c.
36685         (mbsstr): Renamed from strstr.
36686         * lib/string_.h (strstr): Remove declaration. Change the conditional
36687         link warning.
36688         (mbsstr): New declaration.
36689         * m4/mbsstr.m4: New file.
36690         * m4/strstr.m4: Remove file.
36691         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
36692         REPLACE_STRSTR.
36693         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
36694         Don't initialize GNULIB_STRSTR.
36695         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
36696         substitute GNULIB_STRSTR and REPLACE_STRSTR.
36697         * MODULES.html.sh (Internationalization functions): Add mbsstr.
36698         (Support for systems lacking ANSI C 89): Remove strstr.
36699
36700 2007-02-04  Bruno Haible  <bruno@clisp.org>
36701
36702         New module mbsrchr.
36703         * modules/mbsrchr: New file.
36704         * lib/mbsrchr.c: New file.
36705         * lib/string_.h (strrchr): Add a conditional link warning.
36706         (mbsrchr): New declaration.
36707         * m4/mbsrchr.m4: New file.
36708         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36709         GNULIB_MBSRCHR.
36710         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
36711         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
36712
36713 2007-02-04  Bruno Haible  <bruno@clisp.org>
36714
36715         New module mbschr.
36716         * modules/mbschr: New file.
36717         * lib/mbschr.c: New file.
36718         * lib/string_.h (strchr): Add a conditional link warning.
36719         (mbschr): New declaration.
36720         * m4/mbschr.m4: New file.
36721         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36722         GNULIB_MBSCHR.
36723         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
36724         * MODULES.html.sh (Internationalization functions): Add mbschr.
36725
36726 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36727
36728         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
36729
36730         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
36731
36732 2007-02-04  Bruno Haible  <bruno@clisp.org>
36733
36734         New module description section 'configure.ac-early'.
36735         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
36736         (func_get_autoconf_early_snippet): New function.
36737         (func_import, func_create_testdir): Use it. Remove special cases for
36738         modules 'extensions' and 'lock'.
36739         * modules/extensions (configure.ac-early): Require
36740         gl_USE_SYSTEM_EXTENSIONS.
36741         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
36742
36743 2007-02-04  Bruno Haible  <bruno@clisp.org>
36744
36745         Make use of gcj-4.3's -fsource and -ftarget option.
36746         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
36747         and if so try the options -fsource and -ftarget.
36748         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
36749         source_version, ftarget_option, target_version arguments.
36750         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
36751         (is_envjavac_oldgcj_14_14_usable): Renamed from
36752         is_envjavac_gcj_14_14_usable.
36753         (is_envjavac_oldgcj_14_13_usable): Renamed from
36754         is_envjavac_gcj_14_13_usable.
36755         (is_gcj_present): Update.
36756         (is_gcj_43, is_gcj43_usable): New functions.
36757         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
36758         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
36759         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
36760         try the options -fsource and -ftarget.
36761
36762 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36763
36764         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
36765         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
36766         larger value.
36767
36768 2007-02-03  Jim Meyering  <jim@meyering.net>
36769
36770         Give tools a better chance to allocate space for very large buffers.
36771         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
36772
36773         Make pwd and readlink work also when run with an unreadable parent dir
36774         on systems with openat support.
36775         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
36776         provided getcwd function, even when we have openat support.
36777         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
36778
36779 2007-02-02  Bruno Haible  <bruno@clisp.org>
36780
36781         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
36782         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
36783         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
36784         portability problems if one of these functions is only used on specific
36785         platforms.
36786         Reported by Paul Eggert.
36787
36788 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36789
36790         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
36791         is causing more trouble than it's curing.
36792         * lib/regex_internal.h (__mempcpy): Remove.
36793         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
36794         (and make the code a tad smaller to boot).
36795         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
36796
36797 2007-02-02  Jim Meyering  <jim@meyering.net>
36798
36799         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
36800         section, not in the Makefile.am: one.
36801
36802 2007-02-02  Eric Blake  <ebb9@byu.net>
36803
36804         * lib/strchrnul.c: Always include config.h first.
36805
36806         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
36807         gnulib strstr is not necessary here.
36808
36809 2007-02-02  Simon Josefsson  <simon@josefsson.org>
36810
36811         * m4/socklen.m4: Fix typo.
36812
36813 2007-02-02  Eric Blake  <ebb9@byu.net>
36814
36815         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
36816         * modules/netinet_in (Makefile.am): Likewise.
36817
36818 2007-02-01  Bruno Haible  <bruno@clisp.org>
36819
36820         * lib/string_.h (GL_LINK_WARNING): New macro.
36821         (strcasecmp, strstr, strcasestr): If provided by the system,
36822         conditionally define as a macro that leads to a warning instead of to
36823         an error.
36824         (strncasecmp): Conditionally define as a macro that leads to a warning.
36825
36826 2007-02-01  Karl Berry  <karl@gnu.org>
36827
36828         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
36829
36830 2007-02-01  Bruno Haible  <bruno@clisp.org>
36831
36832         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
36833         renamings.
36834
36835 2007-02-01  Eric Blake  <ebb9@byu.net>
36836
36837         * modules/regex (Depends-on): Revert dependence on mempcpy.
36838         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
36839         module's definition of mempcpy.
36840         Reported by Paul Eggert.
36841
36842 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
36843
36844         * lib/string_.h: If the gnulib module XYZ is not present, undefine
36845         the symbol XYZ before redefining it.  This fixes a problem with
36846         programs that don't use XYZ, when compiled on systems that define
36847         XYZ to something else.
36848
36849 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36850
36851         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
36852         occurs when "mkdir -m foo" creates a setgid directory that is (1)
36853         writeable to group or other and (2) is intended to have a special
36854         mode bit that is set or cleared.  In such a case, the directory
36855         should be neither group- nor other-writeable until the special
36856         mode bits are right.
36857
36858 2007-01-31  Eric Blake  <ebb9@byu.net>
36859
36860         * modules/mountlist (Depends-on): Add strstr.
36861
36862         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
36863         bug.
36864         * modules/string (Makefile.am): Remove redundant replacement.
36865         * modules/regex (Depends-on): Add mempcpy.
36866
36867 2007-01-31  Bruno Haible  <bruno@clisp.org>
36868
36869         New module description field 'Link'.
36870         * gnulib-tool (func_usage): Document --extract-link-directive.
36871         (sed_extract_prog): Recognize 'Link' directive.
36872         (func_get_link_directive): New function.
36873         (func_import): Show summary of link directives.
36874         Handle --extract-link-directive option.
36875         * modules/acl (Link): New section.
36876         * modules/clock-time (Link): New section.
36877         * modules/euidaccess (Link): New section.
36878         * modules/gettext (Link): New section.
36879         * modules/iconv (Link): New section.
36880         * modules/lock (Link): New section.
36881         * modules/nanosleep (Link): New section.
36882         * modules/readline (Link): New section.
36883
36884 2007-01-27  Bruno Haible  <bruno@clisp.org>
36885
36886         Enforce the use of gnulib modules for unportable <string.h> functions.
36887         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
36888         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
36889         (gl_HEADER_STRING_H_BODY): Require it.
36890         * lib/string_.h: If the gnulib module XYZ is not present, redefine
36891         the symbol XYZ to one that gives a link error.
36892         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
36893         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
36894         * modules/mempcpy (configure.ac): Likewise.
36895         * modules/memrchr (configure.ac): Likewise.
36896         * modules/stpcpy (configure.ac): Likewise.
36897         * modules/stpncpy (configure.ac): Likewise.
36898         * modules/strcase (configure.ac): Likewise.
36899         * modules/strcasestr (configure.ac): Likewise.
36900         * modules/strchrnul (configure.ac): Likewise.
36901         * modules/strdup (configure.ac): Likewise.
36902         * modules/strndup (configure.ac): Likewise.
36903         * modules/strnlen (configure.ac): Likewise.
36904         * modules/strpbrk (configure.ac): Likewise.
36905         * modules/strsep (configure.ac): Likewise.
36906         * modules/strstr (configure.ac): Likewise.
36907         * modules/strtok_r (configure.ac): Likewise.
36908
36909 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
36910
36911         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
36912
36913 2007-01-30  Jim Meyering  <jim@meyering.net>
36914
36915         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
36916
36917 2007-01-29  Bruno Haible  <bruno@clisp.org>
36918
36919         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
36920         * lib/execute.c: Likewise.
36921         * lib/pipe.c: Likewise.
36922         * lib/printf-args.h: Likewise.
36923         * lib/printf-args.c: Likewise.
36924         * lib/printf-parse.c: Likewise.
36925         * lib/vasnprintf.c: Likewise.
36926
36927 2007-01-29  Eric Blake  <ebb9@byu.net>
36928
36929         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
36930         declaration.
36931
36932 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
36933
36934         * lib/strptime.h (strptime): Use 'restrict' for args where
36935         POSIX requires this.
36936         * lib/strptime.c (strptime): Likewise.
36937         Change license notice from LGPL to GPL, since gnulib-tool will
36938         change this as needed.
36939         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
36940         defined.
36941         Include "strptime.h" first, to check interface.
36942         Do not #undef _LIBC and _NL_CURRENT.
36943         Do not include <stdlib.h>; no longer needed.
36944         Include "time_r.h" and declare ptime_locale_status
36945         only if _LIBC is not defined.
36946         (__P): Remove unused macro.
36947         (match_string): Bring back glibc version, but use it only if _LIBC
36948         is defined.
36949         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
36950         Remove unnecessary assertion and abort() call.
36951         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
36952         * m4/strptime.m4: Fix serial number comment.
36953         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
36954         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
36955         (Depends-on): Add time_r.
36956
36957 2007-01-29  Bruno Haible  <bruno@clisp.org>
36958
36959         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36960         strptime.
36961         * modules/strptime (Depends-on): Add stdbool.
36962         * lib/strptime.h: Include <time.h> always. Add comments.
36963
36964 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36965
36966         * modules/strptime: New file.
36967         * lib/strptime.h: New file.
36968         * lib/strptime.c: New file.
36969         * m4/strptime.m4: New file.
36970
36971 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
36972
36973         * MODULES.html.sh: New module mpsort.
36974         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
36975
36976         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
36977         a circularity problem with HP-UX ia64 reported by Bob Proulx in
36978         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
36979         All uses changed.
36980         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
36981         All uses changed.
36982         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
36983         to _Restrict_.
36984         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
36985         the parameter matches the prototype.
36986
36987 2007-01-28  Jim Meyering  <jim@meyering.net>
36988
36989         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
36990         sys/time.h here, reverting that part of the previous patch:
36991         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
36992
36993 2007-01-28  Bruno Haible  <bruno@clisp.org>
36994
36995         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
36996         value of $(SYS_TIME_H).
36997         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
36998         remove it conditionally, too. [added by Jim Meyering]
36999         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
37000         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
37001         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
37002         GETTIMEOFDAY_REPLACEMENT to 1.
37003
37004 2007-01-28  Bruno Haible  <bruno@clisp.org>
37005
37006         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
37007         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
37008         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
37009         Set UNISTD_H instead of UNISTD_H2.
37010         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
37011
37012 2007-01-28  Bruno Haible  <bruno@clisp.org>
37013
37014         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
37015         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
37016
37017 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37018
37019         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
37020         (func_create_testdir): Ensure C locale for `grep' and `tr'
37021         character ranges.
37022         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
37023         ACLOCAL_AMFLAGS parsing state machine.
37024
37025 2007-01-27  Bruno Haible  <bruno@clisp.org>
37026
37027         * modules/unistr/base: Update.
37028
37029 2007-01-27  Bruno Haible  <bruno@clisp.org>
37030
37031         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
37032         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
37033         * modules/unistr/u32-mbtouc-unsafe: Renamed from
37034         modules/unistr/u32-mbtouc.
37035         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
37036         * lib/unistr.h: Update.
37037         * lib/linebreak.c: Update.
37038         * modules/unistr/u32-mbtouc: Renamed from
37039         modules/unistr/u32-mbtouc-safe.
37040         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
37041         * lib/unistr.h: Update.
37042         * lib/unistr/u32-to-u8.c: Update.
37043         * lib/unistr/u32-to-u16.c: Update.
37044
37045 2007-01-27  Bruno Haible  <bruno@clisp.org>
37046
37047         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
37048         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
37049         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
37050         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
37051         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
37052         * modules/unistr/u16-mbtouc-unsafe: Renamed from
37053         modules/unistr/u16-mbtouc.
37054         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
37055         * lib/unistr.h: Update.
37056         * lib/linebreak.c: Update.
37057         * modules/linebreak: Update.
37058         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
37059         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
37060         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
37061         * modules/unistr/u16-mbtouc: Renamed from
37062         modules/unistr/u16-mbtouc-safe.
37063         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
37064         * lib/unistr.h: Update.
37065         * lib/unistr/u16-to-u8.c: Update.
37066         * modules/unistr/u16-to-u8: Update.
37067         * lib/unistr/u16-to-u32.c: Update.
37068         * modules/unistr/u16-to-u32: Update.
37069
37070 2007-01-27  Bruno Haible  <bruno@clisp.org>
37071
37072         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
37073         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
37074         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
37075         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
37076         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
37077         * modules/unistr/u8-mbtouc-unsafe: Renamed from
37078         modules/unistr/u8-mbtouc.
37079         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
37080         * lib/unistr.h: Update.
37081         * lib/striconveh.c: Update.
37082         * modules/striconveh: Update.
37083         * lib/linebreak.c: Update.
37084         * modules/linebreak: Update.
37085         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
37086         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
37087         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
37088         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
37089         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
37090         * lib/unistr.h: Update.
37091         * lib/striconveh.c: Update.
37092         * modules/striconveh: Update.
37093         * lib/unistr/u8-to-u16.c: Update.
37094         * modules/unistr/u8-to-u16: Update.
37095         * lib/unistr/u8-to-u32.c: Update.
37096         * modules/unistr/u8-to-u32: Update.
37097
37098 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37099
37100         Sync from Libtool.
37101         * lib/argz.c: Do not include strings.h nor memory.h, include
37102         string.h unconditionally.  Patch by Simon Josefsson.
37103
37104 2007-01-27  Bruno Haible  <bruno@clisp.org>
37105
37106         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
37107         from gl_HEADER_STRING_H_BODY.
37108         (gl_HEADER_STRING_H_BODY): Require it.
37109         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
37110         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
37111         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
37112         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
37113         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
37114         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
37115         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37116         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
37117         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
37118         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
37119         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
37120         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
37121         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
37122         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37123         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
37124
37125 2007-01-27  Bruno Haible  <bruno@clisp.org>
37126
37127         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
37128         check_PROGRAMS into noinst_PROGRAMS.
37129         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
37130         check_PROGRAMS in this case.
37131         (func_import): Set for_test to false.
37132         (func_create_testdir): Set for_test to true.
37133
37134 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
37135             Bruno Haible  <bruno@clisp.org>
37136
37137         * modules/strcasestr (Files): Remove lib/strcasestr.h.
37138         (Depends-on): Add string.
37139         (Includes): Use <string.h> instead of strcasestr.h.
37140         * modules/string (Makefile.am): Also substitute the value of
37141         REPLACE_STRCASESTR.
37142         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
37143         assume strcasestr is declared in <string.h> not <strings.h>. Also
37144         set REPLACE_STRCASESTR.
37145         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
37146         REPLACE_STRCASESTR.
37147         * lib/strcasestr.h: Remove file.
37148         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
37149         * lib/string_.h (strcasestr): New declaration.
37150
37151 2007-01-27  Bruno Haible  <bruno@clisp.org>
37152
37153         * lib/string_.h: Use 'extern'.
37154
37155 2007-01-27  Jim Meyering  <jim@meyering.net>
37156
37157         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
37158         of set-but-not-used local, "q".
37159
37160         * lib/mempcpy.c: Include <config.h> before <string.h>.
37161         This fixes a compilation error on HP-UX, due to the system's
37162         "restrict"-using mempcpy prototype.
37163
37164 2007-01-26  Bruno Haible  <bruno@clisp.org>
37165
37166         Small optimization.
37167         * lib/javacomp.c: Include c-strstr.h.
37168          (is_envjavac_gcj): Use c_strstr instead of strstr.
37169         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
37170
37171 2007-01-26  Bruno Haible  <bruno@clisp.org>
37172
37173         * MODULES.html.sh (Unicode string functions): Add the new modules.
37174
37175         * modules/uniconv/u32-strconv-to-locale: New file.
37176         * lib/uniconv/u32-strconv-to-locale.c: New file.
37177
37178         * modules/uniconv/u16-strconv-to-locale: New file.
37179         * lib/uniconv/u16-strconv-to-locale.c: New file.
37180
37181         * modules/uniconv/u8-strconv-to-locale: New file.
37182         * lib/uniconv/u8-strconv-to-locale.c: New file.
37183
37184         * modules/uniconv/u32-strconv-from-locale: New file.
37185         * lib/uniconv/u32-strconv-from-locale.c: New file.
37186
37187         * modules/uniconv/u16-strconv-from-locale: New file.
37188         * lib/uniconv/u16-strconv-from-locale.c: New file.
37189
37190         * modules/uniconv/u8-strconv-from-locale: New file.
37191         * lib/uniconv/u8-strconv-from-locale.c: New file.
37192
37193         * modules/uniconv/u32-strconv-to-enc: New file.
37194         * lib/uniconv/u32-strconv-to-enc.c: New file.
37195         * modules/uniconv/u32-strconv-to-enc-tests: New file.
37196         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
37197
37198         * modules/uniconv/u16-strconv-to-enc: New file.
37199         * lib/uniconv/u16-strconv-to-enc.c: New file.
37200         * lib/uniconv/u-strconv-to-enc.h: New file.
37201         * modules/uniconv/u16-strconv-to-enc-tests: New file.
37202         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
37203
37204         * modules/uniconv/u8-strconv-to-enc: New file.
37205         * lib/uniconv/u8-strconv-to-enc.c: New file.
37206         * modules/uniconv/u8-strconv-to-enc-tests: New file.
37207         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
37208
37209         * modules/uniconv/u32-strconv-from-enc: New file.
37210         * lib/uniconv/u32-strconv-from-enc.c: New file.
37211         * modules/uniconv/u32-strconv-from-enc-tests: New file.
37212         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
37213
37214         * modules/uniconv/u16-strconv-from-enc: New file.
37215         * lib/uniconv/u16-strconv-from-enc.c: New file.
37216         * modules/uniconv/u16-strconv-from-enc-tests: New file.
37217         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
37218
37219         * modules/uniconv/u8-strconv-from-enc: New file.
37220         * lib/uniconv/u8-strconv-from-enc.c: New file.
37221         * lib/uniconv/u-strconv-from-enc.h: New file.
37222         * modules/uniconv/u8-strconv-from-enc-tests: New file.
37223         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
37224
37225         * modules/uniconv/u32-conv-from-enc: New file.
37226         * lib/uniconv/u32-conv-from-enc.c: New file.
37227         * modules/uniconv/u32-conv-from-enc-tests: New file.
37228         * tests/uniconv/test-u32-conv-from-enc.c: New file.
37229
37230         * modules/uniconv/u16-conv-from-enc: New file.
37231         * lib/uniconv/u16-conv-from-enc.c: New file.
37232         * lib/uniconv/u-conv-from-enc.h: New file.
37233         * modules/uniconv/u16-conv-from-enc-tests: New file.
37234         * tests/uniconv/test-u16-conv-from-enc.c: New file.
37235
37236         * modules/uniconv/u8-conv-from-enc: New file.
37237         * lib/uniconv/u8-conv-from-enc.c: New file.
37238         * modules/uniconv/u8-conv-from-enc-tests: New file.
37239         * tests/uniconv/test-u8-conv-from-enc.c: New file.
37240
37241         * modules/uniconv/base: New file.
37242         * lib/uniconv.h: New file.
37243
37244 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37245
37246         * doc/gnulib-tool.texi (Initial import): Update to match current
37247         behavior with strdup module.
37248         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
37249         * lib/memmem.h: Remove; all uses removed.  This is now done
37250         by <string.h>.
37251         * lib/mempcpy.h: Likewise.
37252         * lib/memrchr.h: Likewise.
37253         * lib/stpcpy.h: Likewise.
37254         * lib/stpncpy.h: Likewise.
37255         * lib/strcase.h: Likewise.
37256         * lib/strchrnul.h: Likewise.
37257         * lib/strdup.h: Likewise.
37258         * lib/strndup.h: Likewise.
37259         * lib/strnlen.h: Likewise.
37260         * lib/strpbrk.h: Likewise.
37261         * lib/strsep.h: Likewise.
37262         * lib/strstr.h: Likewise.
37263         * lib/strtok_r.h: Likewise.
37264         * lib/string_.h: New file.
37265         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
37266         Rely on <string.h> instead.
37267         * lib/canon-host.c: Likewise.
37268         * lib/chdir-long.c: Likewise.
37269         * lib/concatpath.c: Likewise.
37270         * lib/exclude.c: Likewise.
37271         * lib/fchdir.c: Likewise.
37272         * lib/getaddrinfo.c: Likewise.
37273         * lib/getcwd.c: Likewise.
37274         * lib/getsubopt.c: Likewise.
37275         * lib/glob.c: Likewise.
37276         * lib/hard-locale.c: Likewise.
37277         * lib/iconvme.c: Likewise.
37278         * lib/javacomp.c: Likewise.
37279         * lib/mempcpy.c: Likewise.
37280         * lib/memrchr.c: Likewise.
37281         * lib/regex_internal.h: Likewise.
37282         * lib/stpncpy.c: Likewise.
37283         * lib/strcasecmp.c: Likewise.
37284         * lib/strchrnul.c: Likewise.
37285         * lib/strdup.c: Likewise.
37286         * lib/striconv.c: Likewise.
37287         * lib/striconveh.c: Likewise.
37288         * lib/striconveha.c: Likewise.
37289         * lib/strncasecmp.c: Likewise.
37290         * lib/strndup.c: Likewise.
37291         * lib/strnlen.c: Likewise.
37292         * lib/strsep.c: Likewise.
37293         * lib/strstr.c: Likewise.
37294         * lib/strtok_r.c: Likewise.
37295         * lib/userspec.c: Likewise.
37296         * lib/w32spawn.h: Likewise.
37297         * lib/xstrndup.c: Likewise.
37298         * lib/mountlist.c (strstr): Remove decl.
37299         * m4/string_h.m4: New file.
37300         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
37301         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
37302         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
37303         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
37304         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
37305         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
37306         Set REPLACE_STRCASECMP if necessary.
37307         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
37308         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
37309         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
37310         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
37311         HAVE_DECL_STRDUP if necessary.
37312         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
37313         since gl_FUNC_STRNDUP does that now.
37314         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
37315         Check for decl here...
37316         (gl_PREREQ_STRNLEN): ... not here.
37317         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
37318         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
37319         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
37320         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
37321         necessary.
37322         * modules/string: New file.
37323         * modules/memmem (Files): Remove special-purpose include file.
37324         (Depends-on): Add string.
37325         (Include): Include <string.h>, not the removed file.
37326         * modules/mempcpy: Likewise.
37327         * modules/memrchr: Likewise.
37328         * modules/stpcpy: Likewise.
37329         * modules/stpncpy: Likewise.
37330         * modules/strcase: Likewise.
37331         * modules/strchrnul: Likewise.
37332         * modules/strdup: Likewise.
37333         * modules/strndup: Likewise.
37334         * modules/strnlen: Likewise.
37335         * modules/strpbrk: Likewise.
37336         * modules/strsep: Likewise.
37337         * modules/strstr: Likewise.
37338         * modules/strtok_r: Likewise.
37339         * tests/test-dirname.c: Don't include "strdup.h", since
37340         <string.h> now suffices.
37341         * tests/test-memmem.c: Don't include "memmem.h", since
37342         <string.h> now suffices.
37343
37344 2007-01-25  Bruno Haible  <bruno@clisp.org>
37345
37346         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
37347         *resultp is 0.
37348
37349         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
37350         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
37351         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
37352         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
37353
37354         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
37355         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
37356         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
37357         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
37358         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
37359         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
37360
37361 2007-01-24  Bruno Haible  <bruno@clisp.org>
37362
37363         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
37364         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
37365         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
37366         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
37367         gl_FUNC_FTS_CORE.
37368         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
37369         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
37370         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
37371         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
37372         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
37373         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
37374         gl_FUNC_FCHOWNAT.
37375         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
37376         gl_FUNC_STRFTIME.
37377         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
37378         Reported by Ralf Wildenhues.
37379
37380 2007-01-24  Bruno Haible  <bruno@clisp.org>
37381
37382         Drop AC_REQUIRE calls that are redundant with the module dependencies.
37383         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
37384         gl_GETADDRINFO.
37385         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
37386         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
37387         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
37388
37389 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
37390
37391         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
37392         Don't use 'exit'; just return from 'main'.
37393         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
37394
37395         * lib/fnmatch_.h: Readjust white space and comments to match
37396         glibc, to avoid spurious diffs.
37397
37398 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37399
37400         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
37401         2004-12-01 change by Jakub Jelinek, since this code won't compile
37402         if !LIBC.  Problem reported by Bob Proulx.
37403
37404 2007-01-23  Bruno Haible  <bruno@clisp.org>
37405
37406         * lib/striconveh.c: Include c-strcaseeq.h.
37407         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
37408         * modules/striconveh (Depends-on): Add c-strcaseeq.
37409
37410 2007-01-23  Bruno Haible  <bruno@clisp.org>
37411
37412         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
37413
37414         * modules/c-strcaseeq: New file.
37415         * lib/c-strcaseeq.h: New file.
37416
37417         * modules/streq: New file.
37418         * lib/streq.h: New file.
37419
37420 2007-01-23  Bruno Haible  <bruno@clisp.org>
37421
37422         * modules/striconveha-tests: New file.
37423         * tests/test-striconveha.c: New file.
37424
37425         * lib/striconveha.h: Include <stdbool.h>.
37426         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
37427         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
37428         (mem_iconveha_notranslit): Renamed from mem_iconveha.
37429         (mem_iconveha): New function.
37430         (str_iconveha_notranslit): Renamed from str_iconveha.
37431         (str_iconveha): New function.
37432         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
37433         c-strcase.
37434
37435 2007-01-23  Bruno Haible  <bruno@clisp.org>
37436
37437         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
37438         encodings without forgiving before trying any encoding with handler.
37439         (str_iconveha): Try all encodings without forgiving before trying any
37440         encoding with handler.
37441
37442 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37443
37444         Import the following changes from libc.
37445
37446         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
37447
37448         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
37449
37450         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
37451
37452         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
37453         normal_bracket label.
37454
37455         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
37456
37457         [BZ #361]
37458         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
37459         to normal_bracket after fetching the next character.
37460
37461 2007-01-22  Bruno Haible  <bruno@clisp.org>
37462
37463         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
37464         argument.
37465         * lib/striconveh.c (iconv_carefully_1): New function.
37466         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
37467         argument.
37468         (str_cd_iconveh): Update.
37469         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
37470         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
37471         * tests/test-striconveh.c (MAGIC): New macro.
37472         (new_offsets): New function.
37473         (main): Test call with and without offsets.
37474
37475 2007-01-22  Bruno Haible  <bruno@clisp.org>
37476
37477         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
37478         * modules/sys_select (Makefile.am): Likewise.
37479         * modules/sys_socket (Makefile.am): Likewise.
37480         * modules/sys_time (Makefile.am): Likewise.
37481
37482 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
37483
37484         * modules/gettimeofday (License): Change from GPL to LGPL, since
37485         gettimeofday is a library function.
37486
37487 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37488
37489         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
37490
37491 2007-01-21  Bruno Haible  <bruno@clisp.org>
37492
37493         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
37494
37495 2007-01-21  Bruno Haible  <bruno@clisp.org>
37496
37497         * modules/striconveha: New file.
37498         * lib/striconveha.h: New file.
37499         * lib/striconveha.c: New file.
37500         * MODULES.html.sh (Internationalization functions): Add striconveha.
37501         * lib/striconv.c (str_iconv): Optimize the case of an empty input
37502         string.
37503         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
37504
37505 2007-01-21  Bruno Haible  <bruno@clisp.org>
37506
37507         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
37508         * lib/striconveh.c (str_iconveh): Likewise.
37509
37510 2007-01-21  Bruno Haible  <bruno@clisp.org>
37511
37512         * lib/striconveh.h (mem_iconveh): New declaration.
37513         * lib/striconveh.c (mem_iconveh): New function.
37514         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
37515
37516 2007-01-21  Bruno Haible  <bruno@clisp.org>
37517
37518         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
37519
37520         * lib/striconveh.h (mem_cd_iconveh): Change specification.
37521         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
37522         original result buffer.
37523         (str_cd_iconveh): Update.
37524         * tests/test-striconveh.c (main): Update.
37525
37526         * lib/striconv.h (mem_cd_iconv): Change specification.
37527         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
37528         result buffer.
37529         (str_cd_iconv): Update.
37530         * tests/test-striconv.c (main): Update.
37531
37532 2007-01-21  Bruno Haible  <bruno@clisp.org>
37533
37534         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
37535
37536 2007-01-20  Jim Meyering  <jim@meyering.net>
37537
37538         * lib/userspec.c (parse_with_separator): If a user or group string
37539         starts with "+", skip the corresponding name-to-ID look-up, since
37540         such a look-up must fail: user and group names may not include "+".
37541
37542 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
37543
37544         * lib/poll.c: Include sys/time.h and time.h unconditionally,
37545         since we now assume the sys_time module.
37546         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
37547         check for sys/time.h; no longer needed.
37548         * modules/poll (Depends-on): Depend on sys_time.
37549
37550 2007-01-18  Bruno Haible  <bruno@clisp.org>
37551
37552         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
37553         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
37554
37555         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
37556         gettimeofday.
37557
37558         * tests/test-gettimeofday.c: Include <time.h>.
37559         (dummy): Remove variable.
37560
37561         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
37562         gl_HEADER_SYS_TIME_H.
37563         (gl_HEADER_SYS_TIME_H): New macro.
37564
37565         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
37566         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37567         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37568         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
37569         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37570         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
37571         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
37572         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37573         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
37574         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
37575         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37576
37577         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
37578         last change; it caused a compilation error when cross-compiling to
37579         Cygwin.
37580
37581 2007-01-18  Jim Meyering  <jim@meyering.net>
37582
37583         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
37584         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
37585         than the race-prone "test -d sys || mkdir sys".
37586         (configure.ac): Use AC_PROG_MKDIR_P.
37587         * modules/sys_select: Likewise.
37588         * modules/sys_socket: Likewise.
37589         * modules/sys_time: Likewise.
37590
37591 2007-01-18  Eric Blake  <ebb9@byu.net>
37592
37593         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
37594         replace gettimeofday.
37595         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
37596         name, to avoid infinite recursion.
37597
37598 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
37599
37600         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
37601         module sys_time.
37602         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
37603         assume timespec.h defines struct timeval.
37604         * lib/settime.c: Likewise.
37605         * lib/utimens.c: Likewise.
37606         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
37607         since we now assume the gettimeofday module.
37608         * lib/tempname.c (__gen_tempname): Likewise.
37609         * lib/gettimeofday.h: Remove.
37610         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
37611         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
37612         Include <time.h>, for 'time()'.
37613         (localtime_buffer_addr): Also use this workaround if
37614         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
37615         to simplify the uses.  All uses changed.
37616         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
37617         that #undef is inside {}, and 'const' follows type name consistently.
37618         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
37619         (gettimeofday): Do not use the maximum possible value for
37620         tv->tv_usec, since that might break usages other than ls.c.
37621         Instead, we'll leave ls.c alone.  This undoes today's patch
37622         by Bruno.  Add a compile-time warning for 1s-clock resolution;
37623         we've never observed the problem but might as well keep the
37624         canary.
37625         * lib/nanosleep.c: Include timespec.h first, for interface check.
37626         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
37627         now assume the sys_time module.
37628         * lib/tempname.c: Likewise.
37629         * lib/timespec.h: Likewise.
37630         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
37631         needed.
37632         * lib/strftime.c: Likewise.
37633         * lib/timespec.h: Likewise.
37634         * lib/posixtm.c: Include posixtm.h first, for interface check.
37635         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
37636         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
37637         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
37638         * lib/sys_time_.h: New file.
37639         * lib/timespec.h (struct timespec): Use long int, not long.
37640         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
37641         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
37642         Remove obsolescent call to AC_HEADER_TIME.
37643         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
37644         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37645         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
37646         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
37647         Likewise.
37648         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
37649         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
37650         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
37651         into the sys_time module.  Check for gettimeofday just once.
37652         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
37653         for gettimeofday signature to just check the signature.  Merely
37654         compile it, since linking doesn't test signature.  Improve test for
37655         whether gettimeofday.o is actually needed.
37656         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
37657         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
37658         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
37659         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37660         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
37661         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
37662         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
37663         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
37664         than worrying about sys/time.h.
37665         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
37666         Don't bother worrying about TIME_WITH_SYS_TIME.
37667         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
37668         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
37669         * m4/sys_time_h.m4: New file.
37670         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
37671         Don't include sys/time.h.  Return from main rather than exiting.
37672         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
37673         all uses changed.
37674         * modules/gethrxtime (Depends-on): Add sys_time.
37675         * modules/gettime (Depends-on): Likewise.
37676         * modules/gettimeofday (Depends-on): Likewise.
37677         * modules/nanosleep (Depends-on): Likewise.
37678         * modules/settime (Depends-on): Likewise.
37679         * modules/tempname (Depends-on): Likewise.
37680         * modules/utimens (Depends-on): Likewise.
37681         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
37682         (Include:) Change back to <sys/time.h>.
37683         (Maintainer:) Add self.
37684         * modules/sys_time: New file.
37685         * modules/tempname (Depends-on): Add gettimeofday.
37686         * tests/test-gettimeofday.c: Include <sys/time.h>
37687         rather than gettimeofday.h.
37688
37689 2007-01-17  Bruno Haible  <bruno@clisp.org>
37690
37691         * gnulib-tool (func_get_license): Revert last patch. Instead, let
37692         the license default to GPL.
37693         (func_create_testdir): Don't complain if a module is LGPL and its
37694         tests module depends on GPLed modules.
37695
37696 2007-01-17  Bruno Haible  <bruno@clisp.org>
37697
37698         * lib/gettimeofday.c (gettimeofday): Add code for the case
37699         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
37700         maximum possible value for tv->tv_usec, rather than the minimum one.
37701
37702 2005-10-08  Martin Lambers  <marlam@marlam.de>
37703 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
37704 2007-01-16  Bruno Haible  <bruno@clisp.org>
37705
37706         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
37707         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
37708         gl_FUNC_GETTIMEOFDAY.
37709         (Include): Add gettimeofday.h.
37710         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
37711         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
37712         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
37713         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
37714         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
37715         * lib/gettimeofday.h: New file.
37716         * lib/gettimeofday.c: Include <sys/timeb.h>.
37717         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
37718         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37719         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
37720         fall back on time().
37721
37722         * tests/test-gettimeofday.c: New file.
37723         * modules/gettimeofday-tests: New file.
37724
37725 2007-01-16  Eric Blake  <ebb9@byu.net>
37726
37727         * modules/fnmatch (Depends-on): Depend on wchar.
37728         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
37729         * m4/fnmatch.m4: Likewise.
37730         * modules/mbchar (Makefile.am): Assume <wchar.h>.
37731         * m4/mbchar.m4: Likewise.
37732         * modules/mbswidth (Depends-on): Depend on wchar.
37733         * lib/mbswidth.c: Assume <wchar.h>.
37734         * m4/mbswidth.m4: Likewise.
37735         * modules/quotearg (Depends-on): Depend on wchar.
37736         * lib/quotearg.c: Assume <wchar.h>.
37737         * m4/quotearg.m4: Likewise.
37738         * modules/regex (Depends-on): Depend on wchar.
37739         * lib/regex_internal.h: Assume <wchar.h>.
37740         * m4/regex.m4: Likewise.
37741         * modules/stdint (Depends-on): Depend on wchar.
37742         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
37743         * m4/stdint.m4: Likewise.
37744         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
37745         * modules/strftime (Depends-on): Depend on wchar.
37746         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
37747         * modules/strtol (Depends-on): Depend on wchar.
37748         * lib/strtol.c: Assume <wchar.h>.
37749         * modules/wcwidth (Depends-on): Depend on wchar.
37750         * lib/wcwidth.h: Assume <wchar.h>.
37751         * m4/wcwidth.m4: Likewise.
37752
37753 2007-01-16  Bruno Haible  <bruno@clisp.org>
37754
37755         * modules/csharpexec-script: New, created from...
37756         * modules/csharpexec: ... this.
37757
37758 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
37759
37760         * modules/javaexec-script: New, created from...
37761         * modules/javaexec: ... this.
37762
37763 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37764
37765         * modules/poll (Dependencies): Add sys_select.
37766
37767 2007-01-15  Jim Meyering  <jim@meyering.net>
37768
37769         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
37770         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
37771         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
37772         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
37773
37774 2007-01-15  Bruno Haible  <bruno@clisp.org>
37775
37776         * modules/striconveh: New file.
37777         * lib/striconveh.h: New file.
37778         * lib/striconveh.c: New file.
37779         * MODULES.html.sh (Internationalization functions): Add striconveh.
37780
37781         * modules/striconveh-tests: New file.
37782         * tests/test-striconveh.c: New file.
37783
37784 2007-01-15  Bruno Haible  <bruno@clisp.org>
37785
37786         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
37787         not from GNU libiconv or GNU libc.
37788
37789 2007-01-15  Bruno Haible  <bruno@clisp.org>
37790
37791         * doc/gnulib-intro.texi (Copyright): Explain the different license
37792         terms for module descriptions, autoconf macros, tests, documentation.
37793
37794 2007-01-14  Bruno Haible  <bruno@clisp.org>
37795
37796         * modules/striconv-tests: New file.
37797         * tests/test-striconv.c: New file.
37798
37799 2007-01-14  Bruno Haible  <bruno@clisp.org>
37800
37801         * modules/iconv-tests: New file.
37802         * tests/test-iconv.c: New file.
37803
37804 2007-01-14  Bruno Haible  <bruno@clisp.org>
37805
37806         * gnulib-tool (func_get_license): For test modules, use the license of
37807         the main module.
37808
37809 2007-01-14  Bruno Haible  <bruno@clisp.org>
37810
37811         * modules/iconv (Include): Clarify that <iconv.h> can only be included
37812         if iconv is found to exist.
37813
37814 2007-01-14  Bruno Haible  <bruno@clisp.org>
37815
37816         * modules/c-ctype-tests: New file.
37817         * tests/test-c-ctype.c: New file.
37818
37819 2007-01-14  Bruno Haible  <bruno@clisp.org>
37820
37821         * modules/binary-io-tests: New file.
37822         * tests/test-binary-io.sh: New file.
37823         * tests/test-binary-io.c: New file.
37824
37825 2007-01-14  Bruno Haible  <bruno@clisp.org>
37826
37827         * modules/array-oset-tests: New file.
37828         * tests/test-array_oset.c: New file.
37829
37830 2007-01-14  Bruno Haible  <bruno@clisp.org>
37831
37832         * modules/array-list-tests: New file.
37833         * tests/test-array_list.c: New file.
37834
37835 2007-01-14  Bruno Haible  <bruno@clisp.org>
37836
37837         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
37838         and make.
37839         Reported by Simon Josefsson in
37840         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
37841
37842 2007-01-14  Bruno Haible  <bruno@clisp.org>
37843
37844         * modules/allocsa-tests: New file.
37845         * tests/test-allocsa.c: New file.
37846
37847 2007-01-14  Bruno Haible  <bruno@clisp.org>
37848
37849         * modules/fchdir (Depends-on): Add absolute-header.
37850         * modules/unistd (Depends-on): Likewise.
37851
37852 2006-12-30  Bruno Haible  <bruno@clisp.org>
37853
37854         * modules/fchdir: New file.
37855         * modules/unistd (Files): Add lib/unistd_.h.
37856         (Makefile.am): Generate unistd.h from unistd_.h.
37857         * lib/fchdir.c: New file.
37858         * lib/dirent_.h: New file.
37859         * lib/unistd_.h: New file.
37860         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
37861         * m4/fchdir.m4: New file.
37862         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
37863         (gl_HEADER_UNISTD): Invoke it.
37864         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
37865         function.
37866         * lib/backupfile.c (opendir, closedir): Undefine.
37867         * lib/chown.c (open, close): Undefine.
37868         * lib/clean-temp.c (open, close): Undefine.
37869         * lib/copy-file.c (open, close): Undefine.
37870         * lib/execute.c (open, close): Undefine.
37871         * lib/fsusage.c (open, close): Undefine.
37872         * lib/gc-gnulib.c (open, close): Undefine.
37873         * lib/getcwd.c (opendir, closedir): Undefine.
37874         * lib/glob.c (opendir, closedir): Undefine.
37875         * lib/javacomp.c (open, close): Undefine.
37876         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
37877         * lib/openat-proc.c (open, close): Undefine.
37878         * lib/pagealign_alloc.c (open, close): Undefine.
37879         * lib/pipe.c (open, close): Undefine.
37880         * lib/progreloc.c (open, close): Undefine.
37881         * lib/savedir.c (opendir, closedir): Undefine.
37882         * lib/utime.c (open, close): Undefine.
37883         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
37884
37885 2007-01-10  Bruno Haible  <bruno@clisp.org>
37886
37887         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
37888
37889 2007-01-12  Eric Blake  <ebb9@byu.net>
37890
37891         Provide a robust <wchar.h>.  Further simplifications are now
37892         possible in other modules, but not included here.
37893         * modules/wchar: New module.
37894         * m4/wchar.m4: New file.
37895         * lib/wchar_.h: Likewise.
37896         * modules/mbchar (Depends-on): Depend on wchar, as the first use
37897         of the new module.
37898         * MODULES.html.sh (Extended multibyte and wide character utilities):
37899         New section.
37900
37901 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
37902
37903         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
37904         to a reasonable default for memory allocation.
37905         (xreadlink): Don't allocate a huge buffer, to work around a buggy
37906         file system that reports garbage st_size values for symlinks.
37907         Problem reported by Liyang Hu.
37908
37909 2007-01-11  Simon Josefsson  <simon@josefsson.org>
37910
37911         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
37912         Emacs .#* auto-save files).
37913
37914 2007-01-11  Bruno Haible  <bruno@clisp.org>
37915
37916         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
37917         directory.
37918
37919 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
37920
37921         Use @...@ consistently in lib/wctype_.h.
37922         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
37923         on it being set to 1 or 0.
37924         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
37925         go back to AC_SUBSTing it.
37926         * modules/wctype (Makefile.am): Undo previous change.
37927
37928 2007-01-10  Eric Blake  <ebb9@byu.net>
37929
37930         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
37931         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
37932         * modules/wctype (Makefile.am): Likewise.
37933         Reported by Chris McGuire.
37934
37935 2007-01-10  Jim Meyering  <jim@meyering.net>
37936
37937         fts.c: a small readability/maintainability improvement
37938         * lib/fts.c (fts_read): Make this code slightly more readable and
37939         maintainable by hoisting the "sp->fts_cur = p" assignments to
37940         immediately follow the statements that set P.  Derived from
37941         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
37942
37943 2007-01-10  Eric Blake  <ebb9@byu.net>
37944
37945         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
37946         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
37947         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
37948         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
37949         Reported by Chris McGuire.
37950
37951 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37952
37953         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
37954         in sed script.
37955
37956 2007-01-09  Bruno Haible  <bruno@clisp.org>
37957
37958         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
37959         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
37960         variables.
37961         (func_module): Use them.
37962
37963 2007-01-09  Bruno Haible  <bruno@clisp.org>
37964
37965         * modules/unistr/base: New file.
37966         * lib/unistr.h: New file.
37967
37968         * modules/unistr/u8-to-u16: New file.
37969         * lib/unistr/u8-to-u16.c: New file.
37970
37971         * modules/unistr/u8-to-u32: New file.
37972         * lib/unistr/u8-to-u32.c: New file.
37973
37974         * modules/unistr/u16-to-u8: New file.
37975         * lib/unistr/u16-to-u8.c: New file.
37976
37977         * modules/unistr/u16-to-u32: New file.
37978         * lib/unistr/u16-to-u32.c: New file.
37979
37980         * modules/unistr/u32-to-u8: New file.
37981         * lib/unistr/u32-to-u8.c: New file.
37982
37983         * modules/unistr/u32-to-u16: New file.
37984         * lib/unistr/u32-to-u16.c: New file.
37985
37986         * modules/unistr/u8-check: New file.
37987         * modules/unistr/u16-check: New file.
37988         * modules/unistr/u32-check: New file.
37989         * lib/unistr/u8-check.c: New file.
37990         * lib/unistr/u16-check.c: New file.
37991         * lib/unistr/u32-check.c: New file.
37992
37993         * modules/unistr/u8-chr: New file.
37994         * modules/unistr/u16-chr: New file.
37995         * modules/unistr/u32-chr: New file.
37996         * lib/unistr/u8-chr.c: New file.
37997         * lib/unistr/u16-chr.c: New file.
37998         * lib/unistr/u32-chr.c: New file.
37999
38000         * modules/unistr/u8-cmp: New file.
38001         * modules/unistr/u16-cmp: New file.
38002         * modules/unistr/u32-cmp: New file.
38003         * lib/unistr/u8-cmp.c: New file.
38004         * lib/unistr/u16-cmp.c: New file.
38005         * lib/unistr/u32-cmp.c: New file.
38006
38007         * modules/unistr/u8-cpy: New file.
38008         * modules/unistr/u16-cpy: New file.
38009         * modules/unistr/u32-cpy: New file.
38010         * lib/unistr/u8-cpy.c: New file.
38011         * lib/unistr/u16-cpy.c: New file.
38012         * lib/unistr/u32-cpy.c: New file.
38013         * lib/unistr/u-cpy.h: New file.
38014
38015         * modules/unistr/u8-cpy-alloc: New file.
38016         * modules/unistr/u16-cpy-alloc: New file.
38017         * modules/unistr/u32-cpy-alloc: New file.
38018         * lib/unistr/u8-cpy-alloc.c: New file.
38019         * lib/unistr/u16-cpy-alloc.c: New file.
38020         * lib/unistr/u32-cpy-alloc.c: New file.
38021         * lib/unistr/u-cpy-alloc.h: New file.
38022
38023         * modules/unistr/u8-endswith: New file.
38024         * modules/unistr/u16-endswith: New file.
38025         * modules/unistr/u32-endswith: New file.
38026         * lib/unistr/u8-endswith.c: New file.
38027         * lib/unistr/u16-endswith.c: New file.
38028         * lib/unistr/u32-endswith.c: New file.
38029         * lib/unistr/u-endswith.h: New file.
38030
38031         * modules/unistr/u8-mblen: New file.
38032         * modules/unistr/u16-mblen: New file.
38033         * modules/unistr/u32-mblen: New file.
38034         * lib/unistr/u8-mblen.c: New file.
38035         * lib/unistr/u16-mblen.c: New file.
38036         * lib/unistr/u32-mblen.c: New file.
38037
38038         * modules/unistr/u8-mbtouc: New file.
38039         * modules/unistr/u16-mbtouc: New file.
38040         * modules/unistr/u32-mbtouc: New file.
38041         * lib/unistr/u8-mbtouc.c: New file.
38042         * lib/unistr/u16-mbtouc.c: New file.
38043         * lib/unistr/u32-mbtouc.c: New file.
38044
38045         * modules/unistr/u8-mbtouc-safe: New file.
38046         * modules/unistr/u16-mbtouc-safe: New file.
38047         * modules/unistr/u32-mbtouc-safe: New file.
38048         * lib/unistr/u8-mbtouc-safe.c: New file.
38049         * lib/unistr/u16-mbtouc-safe.c: New file.
38050         * lib/unistr/u32-mbtouc-safe.c: New file.
38051
38052         * modules/unistr/u8-move: New file.
38053         * modules/unistr/u16-move: New file.
38054         * modules/unistr/u32-move: New file.
38055         * lib/unistr/u8-move.c: New file.
38056         * lib/unistr/u16-move.c: New file.
38057         * lib/unistr/u32-move.c: New file.
38058         * lib/unistr/u-move.h: New file.
38059
38060         * modules/unistr/u8-next: New file.
38061         * modules/unistr/u16-next: New file.
38062         * modules/unistr/u32-next: New file.
38063         * lib/unistr/u8-next.c: New file.
38064         * lib/unistr/u16-next.c: New file.
38065         * lib/unistr/u32-next.c: New file.
38066
38067         * modules/unistr/u8-prev: New file.
38068         * modules/unistr/u16-prev: New file.
38069         * modules/unistr/u32-prev: New file.
38070         * lib/unistr/u8-prev.c: New file.
38071         * lib/unistr/u16-prev.c: New file.
38072         * lib/unistr/u32-prev.c: New file.
38073
38074         * modules/unistr/u8-set: New file.
38075         * modules/unistr/u16-set: New file.
38076         * modules/unistr/u32-set: New file.
38077         * lib/unistr/u8-set.c: New file.
38078         * lib/unistr/u16-set.c: New file.
38079         * lib/unistr/u32-set.c: New file.
38080         * lib/unistr/u-set.h: New file.
38081
38082         * modules/unistr/u8-startswith: New file.
38083         * modules/unistr/u16-startswith: New file.
38084         * modules/unistr/u32-startswith: New file.
38085         * lib/unistr/u8-startswith.c: New file.
38086         * lib/unistr/u16-startswith.c: New file.
38087         * lib/unistr/u32-startswith.c: New file.
38088         * lib/unistr/u-startswith.h: New file.
38089
38090         * modules/unistr/u8-stpcpy: New file.
38091         * modules/unistr/u16-stpcpy: New file.
38092         * modules/unistr/u32-stpcpy: New file.
38093         * lib/unistr/u8-stpcpy.c: New file.
38094         * lib/unistr/u16-stpcpy.c: New file.
38095         * lib/unistr/u32-stpcpy.c: New file.
38096         * lib/unistr/u-stpcpy.h: New file.
38097
38098         * modules/unistr/u8-stpncpy: New file.
38099         * modules/unistr/u16-stpncpy: New file.
38100         * modules/unistr/u32-stpncpy: New file.
38101         * lib/unistr/u8-stpncpy.c: New file.
38102         * lib/unistr/u16-stpncpy.c: New file.
38103         * lib/unistr/u32-stpncpy.c: New file.
38104         * lib/unistr/u-stpncpy.h: New file.
38105
38106         * modules/unistr/u8-strcat: New file.
38107         * modules/unistr/u16-strcat: New file.
38108         * modules/unistr/u32-strcat: New file.
38109         * lib/unistr/u8-strcat.c: New file.
38110         * lib/unistr/u16-strcat.c: New file.
38111         * lib/unistr/u32-strcat.c: New file.
38112         * lib/unistr/u-strcat.h: New file.
38113
38114         * modules/unistr/u8-strchr: New file.
38115         * modules/unistr/u16-strchr: New file.
38116         * modules/unistr/u32-strchr: New file.
38117         * lib/unistr/u8-strchr.c: New file.
38118         * lib/unistr/u16-strchr.c: New file.
38119         * lib/unistr/u32-strchr.c: New file.
38120
38121         * modules/unistr/u8-strcmp: New file.
38122         * modules/unistr/u16-strcmp: New file.
38123         * modules/unistr/u32-strcmp: New file.
38124         * lib/unistr/u8-strcmp.c: New file.
38125         * lib/unistr/u16-strcmp.c: New file.
38126         * lib/unistr/u32-strcmp.c: New file.
38127
38128         * modules/unistr/u8-strcpy: New file.
38129         * modules/unistr/u16-strcpy: New file.
38130         * modules/unistr/u32-strcpy: New file.
38131         * lib/unistr/u8-strcpy.c: New file.
38132         * lib/unistr/u16-strcpy.c: New file.
38133         * lib/unistr/u32-strcpy.c: New file.
38134         * lib/unistr/u-strcpy.h: New file.
38135
38136         * modules/unistr/u8-strcspn: New file.
38137         * modules/unistr/u16-strcspn: New file.
38138         * modules/unistr/u32-strcspn: New file.
38139         * lib/unistr/u8-strcspn.c: New file.
38140         * lib/unistr/u16-strcspn.c: New file.
38141         * lib/unistr/u32-strcspn.c: New file.
38142         * lib/unistr/u-strcspn.h: New file.
38143
38144         * modules/unistr/u8-strdup: New file.
38145         * modules/unistr/u16-strdup: New file.
38146         * modules/unistr/u32-strdup: New file.
38147         * lib/unistr/u8-strdup.c: New file.
38148         * lib/unistr/u16-strdup.c: New file.
38149         * lib/unistr/u32-strdup.c: New file.
38150         * lib/unistr/u-strdup.h: New file.
38151
38152         * modules/unistr/u8-strlen: New file.
38153         * modules/unistr/u16-strlen: New file.
38154         * modules/unistr/u32-strlen: New file.
38155         * lib/unistr/u8-strlen.c: New file.
38156         * lib/unistr/u16-strlen.c: New file.
38157         * lib/unistr/u32-strlen.c: New file.
38158         * lib/unistr/u-strlen.h: New file.
38159
38160         * modules/unistr/u8-strmblen: New file.
38161         * modules/unistr/u16-strmblen: New file.
38162         * modules/unistr/u32-strmblen: New file.
38163         * lib/unistr/u8-strmblen.c: New file.
38164         * lib/unistr/u16-strmblen.c: New file.
38165         * lib/unistr/u32-strmblen.c: New file.
38166
38167         * modules/unistr/u8-strmbtouc: New file.
38168         * modules/unistr/u16-strmbtouc: New file.
38169         * modules/unistr/u32-strmbtouc: New file.
38170         * lib/unistr/u8-strmbtouc.c: New file.
38171         * lib/unistr/u16-strmbtouc.c: New file.
38172         * lib/unistr/u32-strmbtouc.c: New file.
38173
38174         * modules/unistr/u8-strncat: New file.
38175         * modules/unistr/u16-strncat: New file.
38176         * modules/unistr/u32-strncat: New file.
38177         * lib/unistr/u8-strncat.c: New file.
38178         * lib/unistr/u16-strncat.c: New file.
38179         * lib/unistr/u32-strncat.c: New file.
38180         * lib/unistr/u-strncat.h: New file.
38181
38182         * modules/unistr/u8-strncmp: New file.
38183         * modules/unistr/u16-strncmp: New file.
38184         * modules/unistr/u32-strncmp: New file.
38185         * lib/unistr/u8-strncmp.c: New file.
38186         * lib/unistr/u16-strncmp.c: New file.
38187         * lib/unistr/u32-strncmp.c: New file.
38188
38189         * modules/unistr/u8-strncpy: New file.
38190         * modules/unistr/u16-strncpy: New file.
38191         * modules/unistr/u32-strncpy: New file.
38192         * lib/unistr/u8-strncpy.c: New file.
38193         * lib/unistr/u16-strncpy.c: New file.
38194         * lib/unistr/u32-strncpy.c: New file.
38195         * lib/unistr/u-strncpy.h: New file.
38196
38197         * modules/unistr/u8-strnlen: New file.
38198         * modules/unistr/u16-strnlen: New file.
38199         * modules/unistr/u32-strnlen: New file.
38200         * lib/unistr/u8-strnlen.c: New file.
38201         * lib/unistr/u16-strnlen.c: New file.
38202         * lib/unistr/u32-strnlen.c: New file.
38203         * lib/unistr/u-strnlen.h: New file.
38204
38205         * modules/unistr/u8-strpbrk: New file.
38206         * modules/unistr/u16-strpbrk: New file.
38207         * modules/unistr/u32-strpbrk: New file.
38208         * lib/unistr/u8-strpbrk.c: New file.
38209         * lib/unistr/u16-strpbrk.c: New file.
38210         * lib/unistr/u32-strpbrk.c: New file.
38211         * lib/unistr/u-strpbrk.h: New file.
38212
38213         * modules/unistr/u8-strrchr: New file.
38214         * modules/unistr/u16-strrchr: New file.
38215         * modules/unistr/u32-strrchr: New file.
38216         * lib/unistr/u8-strrchr.c: New file.
38217         * lib/unistr/u16-strrchr.c: New file.
38218         * lib/unistr/u32-strrchr.c: New file.
38219
38220         * modules/unistr/u8-strspn: New file.
38221         * modules/unistr/u16-strspn: New file.
38222         * modules/unistr/u32-strspn: New file.
38223         * lib/unistr/u8-strspn.c: New file.
38224         * lib/unistr/u16-strspn.c: New file.
38225         * lib/unistr/u32-strspn.c: New file.
38226         * lib/unistr/u-strspn.h: New file.
38227
38228         * modules/unistr/u8-strstr: New file.
38229         * modules/unistr/u16-strstr: New file.
38230         * modules/unistr/u32-strstr: New file.
38231         * lib/unistr/u8-strstr.c: New file.
38232         * lib/unistr/u16-strstr.c: New file.
38233         * lib/unistr/u32-strstr.c: New file.
38234         * lib/unistr/u-strstr.h: New file.
38235
38236         * modules/unistr/u8-strtok: New file.
38237         * modules/unistr/u16-strtok: New file.
38238         * modules/unistr/u32-strtok: New file.
38239         * lib/unistr/u8-strtok.c: New file.
38240         * lib/unistr/u16-strtok.c: New file.
38241         * lib/unistr/u32-strtok.c: New file.
38242         * lib/unistr/u-strtok.h: New file.
38243
38244         * modules/unistr/u8-uctomb: New file.
38245         * modules/unistr/u16-uctomb: New file.
38246         * modules/unistr/u32-uctomb: New file.
38247         * lib/unistr/u8-uctomb.c: New file.
38248         * lib/unistr/u16-uctomb.c: New file.
38249         * lib/unistr/u32-uctomb.c: New file.
38250
38251         * MODULES.html.sh (Unicode string functions): Add the new modules.
38252
38253 2007-01-08  Bruno Haible  <bruno@clisp.org>
38254
38255         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
38256         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
38257         subdirectories.
38258
38259 2007-01-08  Karl Berry  <karl@gnu.org>
38260
38261         * doc/error.texi: mention that main() fns must set program_name
38262         when progname is used.
38263
38264 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
38265
38266         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
38267         WCTYPE_H is empty, for the benefit of builds from non-distclean
38268         directories.  Problem reported by Eric Blake in
38269         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
38270
38271 2007-01-08  Bruno Haible  <bruno@clisp.org>
38272
38273         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
38274         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
38275         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
38276         PROVIDE_CANONICALIZE_FILENAME_MODE.
38277         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
38278
38279 2007-01-08  Bruno Haible  <bruno@clisp.org>
38280
38281         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
38282         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
38283         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
38284         * lib/fts.c: Likewise.
38285         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
38286
38287 2006-12-25  Bruno Haible  <bruno@clisp.org>
38288
38289         * modules/utf8-ucs4-safe: New file.
38290         * lib/utf8-ucs4-safe.h: New file.
38291         * lib/unistr/utf8-ucs4-safe.c: New file.
38292
38293         * modules/utf16-ucs4-safe: New file.
38294         * lib/utf16-ucs4-safe.h: New file.
38295         * lib/unistr/utf16-ucs4-safe.c: New file.
38296
38297         * MODULES.html.sh (Unicode string functions): Add the new modules.
38298
38299 2007-01-08  Bruno Haible  <bruno@clisp.org>
38300
38301         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
38302         (Depends-on): Add unitypes.
38303         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
38304         (u8_mbtouc_aux): Move out to separate file.
38305         (u8_mbtouc): Use ucs4_t, uint8_t types.
38306         * lib/unistr/utf8-ucs4.c: New file.
38307
38308         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
38309         (Depends-on): Add unitypes.
38310         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
38311         (u16_mbtouc_aux): Move out to separate file.
38312         (u16_mbtouc): Use ucs4_t, uint16_t types.
38313         * lib/unistr/utf16-ucs4.c: New file.
38314
38315         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
38316         (Depends-on): Add unitypes.
38317         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
38318         (u8_uctomb_aux): Move out to separate file.
38319         (u8_uctomb): Use ucs4_t, uint8_t types.
38320         * lib/unistr/ucs4-utf8.c: New file.
38321
38322         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
38323         (Depends-on): Add unitypes.
38324         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
38325         (u16_uctomb_aux): Move out to separate file.
38326         (u16_uctomb): Use ucs4_t, uint16_t types.
38327         * lib/unistr/ucs4-utf16.c: New file.
38328
38329 2006-12-25  Bruno Haible  <bruno@clisp.org>
38330
38331         * modules/unitypes: New file.
38332         * lib/unitypes.h: New file.
38333         * MODULES.html.sh (func_all_modules): New section "Unicode string
38334         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
38335         this section. Add unitypes.
38336
38337 2007-01-08  Bruno Haible  <bruno@clisp.org>
38338
38339         Avoid variable names that conflict with those from libtool.
38340         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
38341         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
38342         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
38343         library_names_spec to acl_library_names_spec, hardcode_* to
38344         acl_hardcode_*.
38345         Reported by Ralf Wildenhues.
38346
38347 2007-01-08  Bruno Haible  <bruno@clisp.org>
38348
38349         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
38350         definition.
38351         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
38352         definition.
38353         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
38354         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
38355         definition.
38356         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
38357         definition.
38358         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
38359         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
38360         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
38361         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
38362         definition.
38363         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
38364         definition.
38365         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
38366         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
38367         GC_USE_<algorithm>.
38368         * lib/gc-libgcrypt.c: Likewise.
38369         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
38370         * modules/gc-arctwo (configure.ac): Likewise.
38371         * modules/gc-des (configure.ac): Likewise.
38372         * modules/gc-hmac-md5 (configure.ac): Likewise.
38373         * modules/gc-hmac-sha1 (configure.ac): Likewise.
38374         * modules/gc-md2 (configure.ac): Likewise.
38375         * modules/gc-md4 (configure.ac): Likewise.
38376         * modules/gc-md5 (configure.ac): Likewise.
38377         * modules/gc-random (configure.ac): Likewise.
38378         * modules/gc-rijndael (configure.ac): Likewise.
38379         * modules/gc-sha1 (configure.ac): Likewise.
38380
38381 2007-01-08  Bruno Haible  <bruno@clisp.org>
38382
38383         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
38384         macro definition.
38385         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
38386         definition.
38387         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
38388         definition.
38389         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
38390         * modules/fcntl-safer (configure.ac): Likewise.
38391         * modules/fopen-safer (configure.ac): Likewise.
38392         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
38393         GNULIB_FWRITEERROR macro definition.
38394
38395 2007-01-08  Bruno Haible  <bruno@clisp.org>
38396
38397         * m4/gnulib-common.m4: New file.
38398         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
38399         (func_get_filelist): Add m4/gnulib-common.m4.
38400
38401 2007-01-08  Bruno Haible  <bruno@clisp.org>
38402
38403         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
38404         command.
38405
38406 2007-01-08  Jim Meyering  <jim@meyering.net>
38407
38408         Use a more robust test for a "can't happen" condition.
38409         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
38410         narrowed the st_size value.  Presuming the "can't happen" condition
38411         is true, that narrowing could conceivably convert an invalid st_size
38412         value into a valid one.  Instead, use a change based on Matthew
38413         Woehlke's original patch.
38414
38415         Slight readability improvement: use an assert-like macro
38416         in place of literal "abort ()" uses.
38417         * lib/fts.c (fts_assert): Define.
38418         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
38419         Use this macro instead of a bare 'abort'.
38420
38421 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
38422
38423         Don't worry about using IRIX 5.3's wctype.h broken definitions;
38424         simply work around them.
38425         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
38426         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
38427         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
38428         declaring.
38429         Don't bother to define as macros, since the standard doesn't require it.
38430         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
38431         longer worry about IRIX 5.3.
38432         (HAVE_WCTYPE_CTMP_BUG): Remove.
38433
38434 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
38435
38436         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
38437         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
38438         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38439         Problems reported by Georg Schwarz for IRIX 5.3.
38440
38441         * gnulib-tool (autoconf_minversion): Take the maximum version number
38442         found, not the minimum.  Problem reported by James Youngman.
38443
38444 2007-01-03  Karl Berry  <karl@gnu.org>
38445
38446         * doc/error.texi: new file, explaining interaction with progname.
38447         * doc/gnulib.texi: include it.  Update copyright.
38448
38449 2007-01-03  Simon Josefsson  <simon@josefsson.org>
38450
38451         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
38452         AC_CANONICAL_HOST, to improve autobuild outputs.
38453
38454 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
38455             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
38456
38457         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
38458         sockets, server sockets, and other file descriptors.  Count errors
38459         to compute the return value.  Reorder the code a bit to be easier
38460         to follow.  Don't set event bits that were not requested (except
38461         POLLERR and POLLHUP).
38462
38463 2007-01-01  Bruno Haible  <bruno@clisp.org>
38464
38465         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
38466
38467 2007-01-03  Jim Meyering  <jim@meyering.net>
38468
38469         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
38470
38471 2007-01-02  Bruno Haible  <bruno@clisp.org>
38472
38473         * modules/settime (Include): Require timespec.h.
38474         * modules/nanosleep (Include): Likewise.
38475
38476 2007-01-01  Bruno Haible  <bruno@clisp.org>
38477
38478         * gnulib-tool (func_emit_copyright_notice): Bump year.
38479         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
38480
38481 2007-01-01  Bruno Haible  <bruno@clisp.org>
38482
38483         Improve support for OpenBSD.
38484         * build-aux/config.rpath (libname_spec): Export.
38485         (library_names_spec): New variable. Export.
38486         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
38487         library_names_spec from the config.rpath output. Locate shared library
38488         through the name pattern in library_names_spec.
38489
38490 2007-01-01  Eric Blake  <ebb9@byu.net>
38491
38492         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
38493
38494 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
38495
38496         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
38497         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
38498         assume the C locale, and avoid an "eval" that could cause trouble.
38499         Problem with SORT reported by Bob Proulx.
38500
38501         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
38502         Define.  Trivial patch from Henning Nielsen Lund, originally
38503         sent to bug-grep@gnu.org today.
38504
38505 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
38506
38507         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
38508         struct stat.  Problem reported by Henning Nielsen Lund.
38509         * lib/acl.c: Include acl.h first, to check interface.  Don't
38510         bother to include sys/types.h and sys/stat.h again.
38511
38512 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
38513
38514         Import the following change from libc; problem reported by
38515         Sven Verdoolaege.
38516
38517         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
38518
38519         [BZ #1373]
38520         * lib/argp.h: Remove __NTH for __argp_usage inline function.
38521
38522 2006-12-28  Jim Meyering  <jim@meyering.net>
38523
38524         * build-aux/announce-gen: Do not assume that the package
38525         builds any of tar.gz, tar.bz2, and .xdelta files.
38526         Suggestion from Simon Josefsson.
38527
38528 2006-12-28  Simon Josefsson  <simon@josefsson.org>
38529
38530         * modules/announce-gen: New file.
38531
38532 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
38533
38534         * lib/mbchar.h: Just include <wctype.h>; the wctype module
38535         handles its gotchas now.
38536         * lib/mbswidth.c: Likewise.
38537         * lib/wcwidth.h: Likewise.
38538         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
38539         and iswcntrl; the wctype module does this stuff now.
38540         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38541         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38542         * modules/mbchar (Depends-on): Add wctype.
38543         * modules/mbswidth (Depends-on): Likewise.
38544         * modules/wcwidth (Depends-on): Likewise.
38545
38546 2006-12-27  Eric Blake  <ebb9@byu.net>
38547
38548         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
38549         module uses more than what <wctype.h> is required to provide.
38550
38551 2006-12-26  Eric Blake  <ebb9@byu.net>
38552
38553         * gnulib-tool (sed_extract_prog): Avoid space-tab.
38554
38555 2006-12-26  Eric Blake  <ebb9@byu.net>
38556
38557         * modules/absolute-header: New module.
38558         * modules/fcntl (Depends-on): Depend on it.
38559         * modules/inttypes (Depends-on): Likewise.
38560         * modules/stdint (Depends-on): Likewise.
38561         * modules/sys_stat (Depends-on): Likewise.
38562         * modules/wctype (Depends-on): Likewise.
38563         * MODULES.html.sh (Support for building libraries and
38564         executables): Document it.
38565
38566 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
38567
38568         * gnulib-tool (SED): Remove, undoing previous change.
38569         The problem was that it broke coreutils on Solaris, because
38570         "sed --posix" leaked into a makefile.
38571         (sed): New alias, if 'alias' and GNU sed.
38572
38573 2006-12-24  Jim Meyering  <jim@meyering.net>
38574
38575         Work around an fchownat bug in glibc-2.4:
38576         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
38577         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
38578         in spite of the -P option.
38579         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
38580         New macros.
38581         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
38582         * modules/openat (Files): Add lib/fchownat.c.
38583         * lib/openat.c (fchownat): Don't define here.  Move to...
38584         * lib/fchownat.c: ...this new file.
38585
38586 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
38587
38588         Fix bug reported by Bruno Haible in
38589         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
38590         where quotearg.c didn't compile on Mac OS X 10.2 because it
38591         lacks <wchar.h> and wint_t.
38592         * lib/wctype_.h (__wctype_wint_t): New type.
38593         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
38594         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
38595         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
38596         Arg is now of type __wctype_wint_t, not wint_t.
38597         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
38598         substitute HAVE_WINT_T.
38599         * modules/wctype (Files): Add m4/wint_t.m4.
38600         (wctype.h): Substitute HAVE_WINT_T.
38601
38602 2006-12-23  Bruno Haible  <bruno@clisp.org>
38603
38604         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
38605
38606 2006-12-23  Bruno Haible  <bruno@clisp.org>
38607
38608         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
38609         S_ISLNK.
38610         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
38611         mingw.
38612
38613 2006-12-22  Bruno Haible  <bruno@clisp.org>
38614
38615         * lib/copy-file.c: Include acl.h.
38616         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
38617         Close the file descriptors only after being done with copy_acl.
38618         * modules/copy-file (Depends-on): Add acl.
38619
38620 2006-12-22  Bruno Haible  <bruno@clisp.org>
38621
38622         * gnulib-tool (SED): New variable.
38623         Use $SED instead of sed everywhere.
38624
38625 2006-12-22  Bruno Haible  <bruno@clisp.org>
38626
38627         * modules/no-c++: New file.
38628         * m4/no-c++.m4: New file.
38629         * MODULES.html.sh (Support for building libraries and executables):
38630         Add no-c++.
38631
38632 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
38633
38634         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
38635         Include <limits.h>, and use its INT_MAX to rewrite the
38636         j loop so that it does not overflow 'int'.  Problem reported by
38637         Ralf Wildenhues in
38638         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
38639         Play it safe by shifting left by 1 rather than multiplying by 2,
38640         as GCC is less likely to optimize this away when the value
38641         is signed (when it assumes overflow leads to undefined behavior).
38642         Also, don't assume time_t uses two's complement.
38643
38644 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
38645
38646         * MODULES.html.sh: New module wctype.
38647         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
38648         * lib/fnmatch.c: Don't bother to include <wchar.h> before
38649         <wctype.h>, since the new wctype module should fix this.
38650         * lib/quotearg.c: Include <wctype.h> unconditionally, since
38651         the wctype module should arrange for it.
38652         * lib/regex_internal.h: Likewise.
38653         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
38654         since the wctype module should handle this now.
38655         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
38656         * modules/fnmatch (Depends-on): Add wctype.
38657         * modules/quotearg (Depends-on): Likewise.
38658         * modules/regex (Depends-on): Likewise.
38659
38660 2006-12-19  Bruno Haible  <bruno@clisp.org>
38661
38662         * lib/strdup.h [C++]: Wrap definitions in extern "C".
38663         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
38664
38665 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38666
38667         * modules/savewd (Depends-on): Fix dependency on fcntl.
38668
38669 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38670
38671         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
38672         conforms to C99, rather than relying on the user's environment
38673         setting of STDINT_H.
38674
38675 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38676         and Eric Blake  <ebb9@byu.net>
38677
38678         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
38679         This is more consistent with the other defines here.
38680         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
38681         Port to z/OS.  Problem reported by Paul Gilmartin.
38682         Change local vars to use gl_ prefix rather than ac_.
38683         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
38684         with other defines.
38685         * modules/double-slash-root: New module.
38686         * modules/dirname (Files): Remove m4/double-slash-root.m4.
38687         (Depends-on): Add double-slash-root.
38688         * MODULES.html.sh (File system functions): Mention new module.
38689
38690 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
38691
38692         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
38693         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
38694         This is for the benefit of gzip, which doesn't do i18n.
38695
38696 2006-12-12  Jim Meyering  <jim@meyering.net>
38697
38698         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
38699         Reported by Andreas Schwab <schwab@suse.de>.
38700
38701 2006-12-12  Bruno Haible  <bruno@clisp.org>
38702
38703         Merge these changes.
38704         2006-09-05  Bruno Haible  <bruno@clisp.org>
38705         * lib/iconvme.c (iconv_string): No need to save and restore errno when
38706         iconv_alloc succeeded.
38707         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
38708         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
38709         test for " && dest " at the end - dest is always != NULL there. Call
38710         iconv with 4xNULL arguments initially, to reset the state. Call iconv
38711         with 2xNULL arguments, also to flush the state storage. Handle the
38712         IRIX iconv behaviour. Realloc the final result, to throw away unused
38713         memory.
38714
38715 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
38716
38717         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
38718         and fchmodat unconditionally, since glibc 2.4 has them.
38719         Problem reported by Arkadiusz Miskiewicz.
38720
38721 2006-12-10  Bruno Haible  <bruno@clisp.org>
38722
38723         * gnulib-tool (func_import): Show the include files only for those
38724         modules that are copied and specified.
38725         Reported by Karl Berry.
38726
38727 2006-12-08  Jim Meyering  <jim@meyering.net>
38728
38729         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
38730         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
38731
38732         * build-aux/announce-gen: Add two new options, both optional:
38733         --bootstrap-tools=TOOL_LIST
38734               a comma-separated list of tools, e.g.,
38735               autoconf,automake,bison,gnulib
38736         --gnulib-snapshot-date=DATE
38737               if gnulib is in the bootstrap tool list,
38738               then report this as the snapshot date.
38739               If not specified, use the current date/time.
38740               If you specify a date here, be sure it's UTC.
38741
38742 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38743
38744         * tests/test-argp-2.sh: Fix test to match actual output.
38745         (func_compare): Fix sed script to be portable.
38746
38747 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
38748
38749         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
38750         workaround for this case.  It is not autoconfigured now; offhand
38751         it's hard to see how to autoconfigure it.
38752
38753 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
38754
38755         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
38756         a directory that is about to be chowned.  Such a directory's
38757         initial file permissions should permit the owner only and this
38758         should not be changed until after the chown, since the group and
38759         other bits would be incorrect if they granted permission before
38760         the chown.
38761
38762         Fix porting problem for iswctype reported by Georg Schwarz in:
38763         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
38764         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
38765         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
38766         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
38767         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38768
38769 2006-12-03  Jim Meyering  <jim@meyering.net>
38770
38771         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
38772         p->fts_statp may not yet be defined.
38773         (fts_read): Instead, set it in the caller, once p->fts_statp is
38774         sure to be defined, and corresponds to a top-level directory.
38775         This bug made du -x fail.  Here's the coreutils test case:
38776         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
38777         Reported by Mike Frysinger.
38778
38779 2006-12-01  Jim Meyering  <jim@meyering.net>
38780
38781         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
38782         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
38783         Reported by Simon Josefsson.
38784
38785 2006-11-30  Jim Meyering  <jim@meyering.net>
38786
38787         * m4/warning.m4: Use the all-permissive copyright notice
38788         recommended by RMS (rather than LGPL).
38789         * m4/vararrays.m4: Likewise.
38790         * m4/flexmember.m4: Likewise.
38791
38792 2006-11-29  Bruno Haible  <bruno@clisp.org>
38793
38794         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
38795         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
38796         using +=.
38797         Reported by Simon Josefsson <simon@josefsson.org>.
38798
38799 2006-11-28  James Youngman <jay@gnu.org>
38800
38801         * README: Advise users that they might find the bug-gnulib@gnu.org
38802         and autotools-announce@gnu.org mailing lists useful.
38803
38804 2006-11-28  Bruno Haible  <bruno@clisp.org>
38805
38806         * m4/ptrdiff_max.m4: Remove file.
38807
38808 2006-11-21  Bruno Haible  <bruno@clisp.org>
38809
38810         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
38811         _AC_COMPUTE_INT.
38812         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38813         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
38814         _AC_COMPUTE_INT.
38815         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38816         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
38817         _AC_COMPUTE_INT.
38818         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38819
38820 2006-11-28  Jim Meyering  <jim@meyering.net>
38821
38822         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
38823         warning from "gcc -Wshadow" about shadowing the builtin.
38824
38825 2006-11-27  Bruno Haible  <bruno@clisp.org>
38826
38827         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
38828         _AC_COMPUTE_INT.
38829         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38830
38831 2006-11-27  Bruno Haible  <bruno@clisp.org>
38832             Paul Eggert  <eggert@cs.ucla.edu>
38833
38834         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
38835
38836 2006-11-26  Bruno Haible  <bruno@clisp.org>
38837
38838         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
38839         noinst_LTLIBRARIES.
38840
38841 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
38842             Bruno Haible  <bruno@clisp.org>
38843
38844         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
38845         if compiling with "gcc -ansi".
38846
38847 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
38848
38849         Fix some incompatibilities with gcc -ansi -pedantic.
38850         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
38851         if compiling pedantically with GCC, unless it's C99 or later.
38852         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
38853         it mishandles gcc -ansi -pedantic as well.
38854         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
38855         if gcc -pedantic.
38856         * lib/regexec.c (check_node_accept_bytes): Don't use auto
38857         initializers for struct if -pedantic, unless it's C99 or later.
38858
38859 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
38860
38861         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
38862         Don't close an fd more than once. Identical atimes indicate
38863         success, not failure.
38864
38865 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
38866
38867         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
38868
38869 2006-11-23  Jim Meyering  <jim@meyering.net>
38870
38871         * build-aux/announce-gen: New file.  From coreutils.
38872
38873 2006-11-22  Jim Meyering  <jim@meyering.net>
38874
38875         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
38876         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
38877         (fts_read): Use a temporary to narrow the overused st_size member
38878         before using it in a switch statement.  Reported by Matthew Woehlke.
38879
38880         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
38881         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38882
38883 2006-11-20  Bruno Haible  <bruno@clisp.org>
38884
38885         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
38886         changequote instead of pairs of brackets.
38887         Reported by Andreas Schwab <schwab@suse.de>.
38888
38889 2006-11-21  Jim Meyering  <jim@meyering.net>
38890
38891         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
38892         so as to remain compatible with older compilers.
38893         Patch from Michael Deutschmann.
38894
38895 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38896
38897         * MODULES.html.sh (File system functions): Add openat.
38898
38899         * lib/openat.h (rpl_fstatat): New macro, if
38900         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
38901         (fstatat): Define to rpl_fstatat under the same conditions,
38902         unless COMPILING_FSTATAT.
38903         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
38904         seems to have the bug.
38905         * lib/fstatat.c: New file.
38906         * modules/openat (Files): Add it.
38907
38908 2006-11-20  Bruno Haible  <bruno@clisp.org>
38909
38910         * Makefile: New file.
38911
38912 2006-11-20  Jim Meyering  <jim@meyering.net>
38913
38914         The beginnings of syntax-related checks for gnulib.
38915         * lib/Makefile: New file.
38916         * lib/t-idcache: New script.  Ensure that the two halves of
38917         idcache.c stay in sync.
38918
38919         * lib/idcache.c: Adjust comments in user- and group- portions to
38920         be more accurate, and to be consistent with one another.
38921
38922 2006-11-20  Jim Meyering  <jim@meyering.net>
38923
38924         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
38925         continue using the flexible array member (thus, this module performs
38926         half as many malloc calls), with the addition that...
38927         (getgroup, getuser): Consistently record a non-match via an empty
38928         "name" string, and map an empty string match to a NULL return value.
38929         * modules/idcache (Depends-on): Re-add flexmember.
38930
38931         * lib/idcache.c (getuser): Remove all uses of the register keyword.
38932         (getuidbyname, getgroup, getgidbyname): Likewise.
38933
38934         Use cleaner syntax: NULL rather than 0.
38935         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
38936
38937 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38938
38939         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
38940         It mishandled the case where the group was missing.
38941         Problem reported by Greg Schafer.
38942         * modules/idcache: Likewise.
38943
38944 2006-11-18  Jim Meyering  <jim@meyering.net>
38945
38946         * check-module (%exempt_header): Add exception for some
38947         conditionally-included headers.
38948
38949         * modules/i-ring (Depends-on): Add verify.
38950         (License): Change to LGPL.
38951
38952 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
38953
38954         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
38955         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
38956         and inttostr.h.  Use snprintf rather than uinttostr, so that
38957         LGPLed code doesn't depend on GPLed.
38958
38959 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
38960
38961         * modules/inline (License): Change from GPL to LGPL.
38962
38963 2006-11-17  Jim Meyering  <jim@meyering.net>
38964
38965         * modules/d-type (License): Switch to LGPL.
38966
38967 2006-11-15  Bruno Haible  <bruno@clisp.org>
38968
38969         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
38970
38971 2006-11-15  Eric Blake  <ebb9@byu.net>
38972
38973         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
38974         the module dependency.
38975
38976 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38977             Bruno Haible  <bruno@clisp.org>
38978
38979         * gnulib-tool (func_create_testdir): Add license consistency check.
38980
38981 2006-11-15  Eric Blake  <ebb9@byu.net>
38982
38983         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
38984         random "(cached)" in configure output.
38985
38986 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38987
38988         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
38989         test for conforming inttypes.h is both announced and cached.
38990
38991         * MODULES.html.sh (seen_modules, seen_files): New variables.
38992         (func_module): Rewrite to use a few less gnulib-tool and sed
38993         invocations.  Avoid a couple of quadratic algorithms for ...
38994         (missed_modules, missed_files): ... these, with ...
38995         (func_append, func_tmpdir): ... these new functions, from
38996         gnulib-tool.  Analogously, install traps for cleanup.
38997
38998         * tests/test-gc.c (main): Remove unused variables.
38999         * tests/test-read-file.c: Include stdlib.h, for 'free'.
39000
39001 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
39002
39003         * modules/inttostr (License): Change to LGPL.
39004
39005 2006-11-14  Eric Blake  <ebb9@byu.net>
39006
39007         * modules/tempname (License): Change to LGPL.
39008
39009 2006-11-14  Eric Blake  <ebb9@byu.net>
39010
39011         * doc/functions.texi (Function Portability): *printf functions on
39012         Cygwin now understand all POSIX size specifiers.
39013
39014 2006-11-14  Bruno Haible  <bruno@clisp.org>
39015
39016         * modules/c-ctype (License): Change to LGPL.
39017
39018 2006-11-12  Bruno Haible  <bruno@clisp.org>
39019
39020         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39021         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
39022         for GNOME libraries, for which the include files are installed in
39023         subdirectories of $prefix/include.
39024
39025 2006-11-12  Bruno Haible  <bruno@clisp.org>
39026
39027         * m4/lib-link.m4: Require at least autoconf-2.54.
39028         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
39029         name to underscores for the --with option.
39030
39031 2006-11-13  Bruno Haible  <bruno@clisp.org>
39032
39033         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
39034         the tests directory.
39035         Reported by Ralf Wildenhues.
39036
39037 2006-11-13  Bruno Haible  <bruno@clisp.org>
39038
39039         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
39040         (func_emit_initmacro_end): Undo the override here.
39041         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
39042         Works around the famous automake error in coreutils.
39043
39044 2006-11-13  Eric Blake  <ebb9@byu.net>
39045
39046         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
39047         element, not its node.
39048
39049 2006-11-12  Bruno Haible  <bruno@clisp.org>
39050
39051         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
39052         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
39053
39054 2006-11-12  Bruno Haible  <bruno@clisp.org>
39055
39056         * gnulib-tool: New option --local-symlink.
39057         (func_usage): Document it.
39058         (lsymbolic): New variable.
39059         (func_import, func_create_testdir): If --symlink was not specified,
39060         test whether --local-symlink was specified and the file comes from
39061         the local_gnulib_dir.
39062
39063 2006-11-12  Bruno Haible  <bruno@clisp.org>
39064
39065         * gnulib-tool (func_ln): New function.
39066         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
39067
39068 2006-11-12  Bruno Haible  <bruno@clisp.org>
39069
39070         Finish support for source files in subdirectories.
39071         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
39072         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
39073         AUTOMAKE_OPTIONS.
39074         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
39075
39076 2006-11-12  Bruno Haible  <bruno@clisp.org>
39077
39078         * gnulib-tool (func_get_automake_snippet): Synthesize also an
39079         EXTRA_lib_SOURCES augmentation.
39080         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
39081
39082 2006-11-12  Jim Meyering  <jim@meyering.net>
39083
39084         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
39085         file descriptors.  This also averts a failure on systems with
39086         native openat support when a traversed directory lacks "x" access.
39087         * lib/fts_.h: Include "i-ring.h"
39088         (struct FTS) [fts_fd_ring]: New member.
39089         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
39090         (FCHDIR): Add parentheses.
39091         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
39092         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
39093         When descending, rather than simply closing the previous
39094         fts_cwd_fd value, push that file descriptor onto the ring.
39095         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
39096         (fts_open): Initialize the new fd_ring member.
39097         (fts_close): Clear the ring.
39098         (fts_safe_changedir): When possible, use our new fd_ring to skip
39099         the diropen and fstat and dev/ino comparison that would normally
39100         accompany a virtual `chdir ("..")'.
39101
39102         * modules/fts (Depends-on): Add i-ring.
39103         * modules/i-ring: New module.
39104         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
39105         * m4/i-ring.m4: New file.
39106
39107 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39108
39109         * gnulib-tool (func_create_testdir): Fix replacement of
39110         `build-aux' in configure.ac.  Run autotools in gltests
39111         subdirectory.
39112         (func_create_testdir, func_create_megatestdir, test): There is
39113         no need for '--force' in most autotool invocations in a new
39114         tree.  Actually fail the whole test if any of the tools, or the
39115         configure or make stages fail.
39116
39117         Sync from Automake.
39118         * build-aux/gnupload: Revert last change.  Add pointer to upload
39119         instructions of the GNU Maintenance Instructions.
39120         Suggestion by Karl Berry.
39121
39122 2006-11-10  Jim Meyering  <jim@meyering.net>
39123
39124         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
39125
39126 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
39127
39128         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
39129         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
39130         (bind_textdomain_codeset) [! ENABLE_NLS]:
39131         Evaluate all the arguments.  That way, callers get compatible behavior
39132         if the arguments have side effects.  Also, it avoids some GCC
39133         diagnostics in some cases; Joel E. Denny reported problems when Bison
39134         was configured with --enable-gcc-warnigs.
39135
39136 2006-11-10  Jim Meyering  <jim@meyering.net>
39137
39138         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
39139         relevant options in CFLAGS (like -O, -fno-inline) are taken into
39140         account.
39141
39142 2006-11-10  Jim Meyering  <jim@meyering.net>
39143
39144         * modules/inline: New file/module.
39145         * modules/xalloc (Files): Remove m4/inline.m4.
39146         (Depends-on): Add inline, instead.
39147         * modules/oset: Likewise.
39148         * modules/list: Likewise.
39149
39150 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
39151
39152         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
39153         Problem reported by Matthew Woehlke.
39154
39155 2006-11-09  Bruno Haible  <bruno@clisp.org>
39156
39157         * lib/tempname.c (gen_tempname): Remove variant that invokes
39158         __gen_tempname.
39159         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
39160         __gen_tempname.
39161
39162 2006-11-08  Bruno Haible  <bruno@clisp.org>
39163
39164         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
39165         to 'yes' instead of 'cross-compiling'.
39166
39167 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
39168
39169         * lib/quotearg.h (quotearg_free): New decl.
39170         * lib/quotearg.c (quotearg_free): New function.
39171         (slot0, nslots, slotvec0, slotvec):
39172         Now file-scope so that quotearg_free can get at them.
39173
39174 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39175
39176         Sync from Automake.
39177         * build-aux/gnupload: Add missing 'gnu' to example URL.
39178         Report by Karl Berry.
39179
39180 2006-11-08  Bruno Haible  <bruno@clisp.org>
39181
39182         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
39183         Suggested by Paul Eggert.
39184
39185 2006-11-08  Jim Meyering  <jim@meyering.net>
39186
39187         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
39188         It's already included if !_LIBC.
39189         (fts_safe_changedir): Add a comment.
39190
39191 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
39192
39193         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
39194         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
39195         Matthew Woehlke.
39196
39197         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
39198         definitions up, to avoid colliding with change below.
39199         (static_inline) [HAVE_INLINE]: New macro.
39200         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
39201         Provide extern decls when !HAVE_INLINE.  Do not define unless
39202         static_inline is defined, either by us or by xmalloc.c.  Use
39203         static_inline rather than static inline.
39204         (XCALLOC): Optimize sizeof(T) = 1 case.
39205         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
39206
39207 2006-11-07  Bruno Haible  <bruno@clisp.org>
39208
39209         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
39210         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
39211         AC_C_INLINE.
39212         * modules/xalloc (Files): Add m4/inline.m4.
39213
39214 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39215
39216         * README: Fix typo.
39217         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
39218         (Miscellanous Notes): ...from this.
39219
39220 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
39221
39222         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
39223         Mention that offsetof should be used instead of sizeof.
39224         From Bruno Haible.
39225
39226 2006-11-07  Bruno Haible  <bruno@clisp.org>
39227
39228         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
39229
39230 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
39231
39232         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
39233         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
39234         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
39235         (gl_tree_add_before, gl_tree_add_after):
39236         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
39237         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
39238         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
39239         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
39240         (gl_linked_add_after, gl_linked_add_at): Likewise.
39241         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
39242         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
39243         (gl_tree_add_before, gl_tree_add_after): Likewise.
39244         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
39245         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
39246         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
39247
39248 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39249
39250         * lib/gl_oset.h: Use C comment style, not C++ comment style.
39251
39252 2006-11-06  Bruno Haible  <bruno@clisp.org>
39253
39254         * m4/inline.m4: New file.
39255         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
39256         * modules/list (Files): Add m4/inline.m4.
39257         * modules/oset (Files): Likewise.
39258
39259 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
39260
39261         * lib/idcache.c: Include <stddef.h>, for offsetof.
39262         (struct userid.name): Change from char * to a flexible array member.
39263         All uses changed.
39264         * modules/idcache (Depends-on): Add flexmember.
39265
39266         * MODULES.html.sh (Core language properties): New module flexmember.
39267         * modules/flexmember, m4/flexmember.m4: New files.
39268
39269         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
39270         inline functions that are identical with the old xnmalloc_inline,
39271         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
39272         that we can avoid some unnecessary integer multiplications and
39273         divisions in the common case where the element size is known at
39274         compile time.
39275         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
39276         needed.
39277         (xnboundedmalloc): Remove.
39278         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
39279         arguments, for consistency with rest of this header.
39280         (xcharalloc): Rewrite using XNMALLOC.
39281         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
39282         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
39283         versions have been moved to lib/xalloc.h and renamed to be the
39284         non-*_inline versions.
39285         (xmalloc, xrealloc): Implement without reference to the xnmalloc
39286         and xnrealloc functions, since those functions are now inline and
39287         now call us.
39288         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
39289         renaming described above.
39290         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
39291         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
39292         captures the dependency in AC_C_INLINE.
39293
39294         New module canonicalize-lgpl, proposed by Charles Wilson in
39295         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
39296         with a few small changes afterwards.
39297         * MODULES.html.sh (File system functions): New module
39298         canonicalize-lgpl.
39299         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
39300         and canonicalize_file_name.
39301         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
39302         * modules/canonicalize-lgpl: New files.
39303
39304 2006-11-05  Bruno Haible  <bruno@clisp.org>
39305
39306         * gnulib-tool (func_import, func_create_testdir): Create directories
39307         also for files in subdirectories of lib/.
39308
39309 2006-11-05  Bruno Haible  <bruno@clisp.org>
39310
39311         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
39312         ANSI C compliant.
39313
39314 2006-11-03  Bruno Haible  <bruno@clisp.org>
39315
39316         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
39317         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
39318         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
39319         (xnboundedmalloc): New inline function.
39320         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
39321         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
39322         xmalloc.
39323         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
39324         xmalloc.
39325         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
39326         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
39327         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
39328         xmalloc.
39329         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
39330         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
39331         xmalloc.
39332         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
39333         gl_tree_add_after): Use XMALLOC instead of xmalloc.
39334         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
39335         xmalloc.
39336         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
39337         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
39338         gl_tree_add_after): Use XMALLOC instead of xmalloc.
39339         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
39340         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
39341         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
39342         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
39343
39344 2006-11-03  Bruno Haible  <bruno@clisp.org>
39345
39346         * lib/c-ctype.h [C++]: Define functions without name mangling.
39347         * lib/fwriteerror.h [C++]: Likewise.
39348         * lib/gcd.h [C++]: Likewise.
39349         * lib/linebreak.h [C++]: Likewise.
39350
39351 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
39352
39353         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
39354         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
39355         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
39356         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
39357         Check for functions and headers just once.
39358         Check for declaration of canonicalize_file_name.
39359         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
39360
39361 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
39362
39363         * gnulib-tool (func_import): Fix typo in actioncmd.
39364
39365 2006-11-02  Bruno Haible  <bruno@clisp.org>
39366
39367         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
39368         newline sequence in the Makefile.am snippet as a space, like "make"
39369         does.
39370         Reported by Roger Persson <perrog@gmail.com>.
39371
39372 2006-11-01  Bruno Haible  <bruno@clisp.org>
39373
39374         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
39375         already declared in <string.h>.
39376         * lib/strcase.h (strncasecmp): Don't declare it if yes.
39377
39378 2006-11-01  Bruno Haible  <bruno@clisp.org>
39379
39380         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
39381         * lib/strcase.h: Include <string.h>.
39382         (strcasecmp): Define to rpl_strcasecmp here.
39383
39384 2006-11-01  Bruno Haible  <bruno@clisp.org>
39385
39386         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
39387
39388 2006-11-01  Eric Blake  <ebb9@byu.net>
39389
39390         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
39391
39392         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
39393
39394 2006-10-29  Bruno Haible  <bruno@clisp.org>
39395
39396         Make it compile in C++ mode.
39397         * lib/full-write.c (full_rw): Add a cast.
39398
39399 2006-11-01  Bruno Haible  <bruno@clisp.org>
39400
39401         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
39402         be POSIX compliant.
39403         Reported by Roger Persson <perrog@gmail.com>.
39404
39405 2006-11-01  Eric Blake  <ebb9@byu.net>
39406
39407         * lib/getopt_.h: Fix comments.
39408
39409 2006-10-31  Eric Blake  <ebb9@byu.net>
39410
39411         * modules/tmpdir (Depends-on): Add sys_stat.
39412         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
39413         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
39414         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
39415         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
39416         tempname.
39417
39418 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
39419
39420         Avoid some C++ diagnostics reported by Bruno Haible.
39421         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
39422         xmalloc.
39423         (quotearg_alloc): Use xcharalloc rather than xmalloc.
39424         (struct slotvec): Move to top level.
39425         (quotearg_n_options): Rewrite to avoid xmalloc.
39426         * lib/xalloc.h (xcharalloc): New function.
39427         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
39428         [defined __cplusplus]: Add function template that provides result
39429         type propagation.  This part of the change is from Bruno Haible.
39430
39431 2006-10-29  Bruno Haible  <bruno@clisp.org>
39432
39433         Make it compile in C++ mode.
39434         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
39435         * lib/strnlen1.c (strnlen1): Cast memchr result.
39436         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
39437         * lib/clean-temp.c (string_equals, string_hash): Add casts.
39438         (create_temp_dir): Rename local variable 'template'.
39439         (compile_csharp_using_sscli): Add cast.
39440         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
39441         * lib/findprog.c (find_in_path): Likewise.
39442         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
39443         * lib/wait-process.c (register_slave_subprocess): Likewise.
39444
39445 2006-10-22  Bruno Haible  <bruno@clisp.org>
39446
39447         * modules/tsearch: New file.
39448         * lib/tsearch.h: New file.
39449         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
39450         * m4/tsearch.m4: New file.
39451         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
39452
39453 2006-10-29  Eric Blake  <ebb9@byu.net>
39454
39455         * lib/arcfour.c: Assume config.h.
39456         * lib/arctwo.c: Likewise.
39457         * lib/base64.c: Likewise.
39458         * lib/check-version.c: Likewise.
39459         * lib/crc.c: Likewise.
39460         * lib/des.c: Likewise.
39461         * lib/gc-gnulib.c: Likewise.
39462         * lib/gc-libgcrypt.c: Likewise.
39463         * lib/gc-pbkdf2-sha1.c: Likewise.
39464         * lib/getaddrinfo.c: Likewise.
39465         * lib/getdelim.c: Likewise.
39466         * lib/getline.c: Likewise.
39467         * lib/hmac-md5.c: Likewise.
39468         * lib/hmac-sha1.c: Likewise.
39469         * lib/iconvme.c: Likewise.
39470         * lib/md2.c: Likewise.
39471         * lib/md4.c: Likewise.
39472         * lib/memxor.c: Likewise.
39473         * lib/read-file.c: Likewise.
39474         * lib/readline.c: Likewise.
39475         * lib/rijndael-alg-fst.c: Likewise.
39476         * lib/rijndael-api-fst.c: Likewise.
39477         * lib/xgetdomainname.c: Likewise.
39478
39479 2006-10-28  Eric Blake  <ebb9@byu.net>
39480
39481         * lib/xstrndup.c: Assume config.h.
39482
39483 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39484
39485         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
39486         stat-macros.h is now for our own macros, whereas stat_h is for
39487         macros in the <sys/stat.h> name space.
39488         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
39489         (STAT_MACROS_H): Remove.
39490         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
39491         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
39492         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
39493         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
39494         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
39495         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
39496         Move these macros to ...
39497         * lib/stat_.h: here.  Don't include stat-macros.h.
39498         * lib/canonicalize.c: Don't include stat-macros.h.
39499         * lib/chown.c: Likewise.
39500         * lib/euidaccess.c: Likewise.
39501         * lib/file-type.c: Likewise.
39502         * lib/filemode.c: Likewise.
39503         * lib/glob.c: Likewise.
39504         * lib/isapipe.c: Likewise.
39505         * lib/lchown.c: Likewise.
39506         * lib/lstat.c: Likewise.
39507         * lib/mkdir-p.c: Likewise.
39508         * lib/rmdir.c: Likewise.
39509         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
39510         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
39511         unless mkdir isn't declared, to speed up 'configure'.
39512         Always create sys/stat.h, since it's unlikely any real sys/stat.h
39513         would define all the S_* symbols.
39514         * modules/canonicalize (Depends-on):
39515         Depend on sys_stat, not stat-macros.
39516         * modules/chown: Likewise.
39517         * modules/euidaccess: Likewise.
39518         * modules/filemode: Likewise.
39519         * modules/file-type: Likewise.
39520         * modules/glob: Likewise.
39521         * modules/isapipe: Likewise.
39522         * modules/lchown: Likewise.
39523         * modules/lstat: Likewise.
39524         * modules/mkancesdirs: Likewise.
39525         * modules/rmdir: Likewise.
39526         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
39527         * modules/modechange: Likewise.
39528         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
39529         (configure.ac): Remove gl_STAT_MACROS.
39530         * modules/sys_stat (Depends-on): Remove stat-macros.
39531
39532 2006-10-27  Bruno Haible  <bruno@clisp.org>
39533
39534         * m4/signed.m4: Remove file.
39535         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
39536         invocation.
39537         * modules/vasnprintf (Files): Remove m4/signed.m4.
39538
39539 2006-10-27  Bruno Haible  <bruno@clisp.org>
39540
39541         Update to GNU gettext 0.16.
39542         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
39543         m4/inttypes-h.m4, m4/signed.m4.
39544         * m4/gettext.m4: Update to GNU gettext 0.16.
39545         * m4/intl.m4: New file, from GNU gettext.
39546         * m4/intldir.m4: New file, from GNU gettext.
39547         * config/srclist.txt: Update
39548
39549 2006-10-27  Eric Blake  <ebb9@byu.net>
39550
39551         * MODULES.html.sh: Document tempname.
39552         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
39553         dependencies.
39554         (Files): Move lib/tempname.c...
39555         * modules/tempname: ...to this new module.
39556         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
39557         (gl_PREREQ_TEMPNAME): Move...
39558         * m4/tempname.m4: ...to this new file.
39559         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
39560         * modules/sys_stat (Depends-on): Add stat-macros.
39561         * lib/stat_.h (includes): Pick up stat macros.
39562         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
39563         if stat macros are broken.
39564         * lib/tempname.c (includes): No need to include "stat-macros.h".
39565         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
39566         (direxists, __path_search) [!_LIBC]: Don't compile these in
39567         gnulib; the tmpdir module covers that.
39568         * lib/tempname.h: New file.
39569
39570 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
39571
39572         * COPYING: Explain how gnulib-tool converts licence headers.
39573         Almost all wording by Eric Blake.
39574
39575 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39576
39577         * lib/mbchar.h (is_basic_table): Make read-only.
39578         * lib/mbchar.c (is_basic_table): Likewise.
39579         Reported by John Darrington.
39580
39581 2006-10-25  Bruno Haible  <bruno@clisp.org>
39582
39583         * lib/progname.h (set_program_name): Undefine before defining.
39584
39585 2006-10-25  Bruno Haible  <bruno@clisp.org>
39586
39587         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
39588         false for non-gcc C++ compilers.
39589         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39590
39591 2006-10-24  Bruno Haible  <bruno@clisp.org>
39592
39593         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
39594         iconv implementations like Irix iconv.
39595
39596 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39597
39598         * modules/vararrays: New file.
39599         * m4/vararrays.m4: New file, taken from diffutils.
39600         * MODULES.html.sh: New module vararrays.
39601
39602 2006-10-24  Karl Berry  <karl@gnu.org>
39603
39604         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
39605         Don't call GNU Unix.
39606
39607 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39608
39609         * users.txt: Add Libtool.
39610
39611         Sync from Libtool:
39612
39613         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39614
39615         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
39616         to gnulib's policy of including config.h unconditionally.
39617
39618 2006-10-24  Bruno Haible  <bruno@clisp.org>
39619
39620         * modules/wcwidth (Files): Add m4/wint_t.m4.
39621         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
39622         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
39623
39624 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39625
39626         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
39627         to pacify GCC with some -W flags enabled.  Problem reported by
39628         Bruno Haible.
39629
39630 2006-10-24  Jim Meyering  <jim@meyering.net>
39631
39632         * MODULES.html.sh: Remove uinttostr.  It's not a module.
39633         Reported by Karl Berry.
39634
39635 2006-10-23  Bruno Haible  <bruno@clisp.org>
39636
39637         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
39638
39639 2006-10-24  Bruno Haible  <bruno@clisp.org>
39640
39641         * lib/gl_list.h: Use C comment style, not C++ comment style.
39642
39643 2006-10-23  Eric Blake  <ebb9@byu.net>
39644
39645         * lib/getaddrinfo.c (includes): Add missing include.
39646
39647 2006-10-23  Bruno Haible  <bruno@clisp.org>
39648             Paul Eggert  <eggert@cs.ucla.edu>
39649
39650         Ability to rename obstack_free.
39651         * lib/obstack.h (__obstack_free): New macro. Declare instead of
39652         obstack_free.
39653         (obstack_free): Invoke the __obstack_free macro.
39654         * lib/obstack.c (obstack_free): Use __obstack_free macro.
39655
39656 2006-10-23  Bruno Haible  <bruno@clisp.org>
39657             Paul Eggert  <eggert@cs.ucla.edu>
39658
39659         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
39660         __argc, __argv from the declaration. (They are defined as macros on
39661         mingw.)
39662
39663 2006-10-22  Bruno Haible  <bruno@clisp.org>
39664
39665         * doc/gnulib-intro.texi: New file.
39666         * doc/gnulib.texi: Include it.
39667
39668 2006-10-21  Bruno Haible  <bruno@clisp.org>
39669
39670         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
39671         "Introduction", "Miscellanous Notes", "Particular Modules".
39672
39673 2006-10-21  Bruno Haible  <bruno@clisp.org>
39674
39675         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39676         Change mostlyclean-local rule to avoid sh syntax error from bash
39677         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
39678
39679 2006-10-23  Jim Meyering  <jim@meyering.net>
39680
39681         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
39682         in place of snprintf.
39683
39684         * modules/inttostr (Files): Add lib/uinttostr.c.
39685         * lib/uinttostr.c (inttostr): New file/function.
39686         * lib/inttostr.h (uinttostr): Declare.
39687         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
39688         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
39689         Add uinttostr.
39690         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
39691
39692 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39693
39694         * lib/canonicalize.c (ELOOP): Define if not already defined.
39695         Problem reported by Bruno Haible in
39696         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
39697
39698 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39699
39700         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
39701         Problem reported by Perry Smith and Ville Laurikari.
39702
39703         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
39704         uses.
39705
39706 2006-10-19  Bruno Haible  <bruno@clisp.org>
39707
39708         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
39709         for mingw.
39710
39711 2006-10-19  Bruno Haible  <bruno@clisp.org>
39712
39713         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
39714         Needed for mingw.
39715
39716 2006-10-19  Bruno Haible  <bruno@clisp.org>
39717
39718         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
39719
39720 2006-10-19  Bruno Haible  <bruno@clisp.org>
39721
39722         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
39723         it.
39724
39725 2006-10-19  Bruno Haible  <bruno@clisp.org>
39726
39727         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
39728         invocation.
39729
39730 2006-10-19  Bruno Haible  <bruno@clisp.org>
39731
39732         * gnulib-tool (func_create_testdir): Don't include ftruncate and
39733         mountlist by default.
39734
39735 2006-10-16  Bruno Haible  <bruno@clisp.org>
39736
39737         * lib/c-strstr.c: Include c-strstr.h.
39738
39739 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
39740
39741         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
39742         in a slash.
39743
39744 2006-10-18  Bruno Haible  <bruno@clisp.org>
39745
39746         * lib/lock.h [C++]: Wrap definitions in extern "C".
39747
39748 2006-10-18  Bruno Haible  <bruno@clisp.org>
39749
39750         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
39751         gl_LIBOBJS list.
39752
39753 2006-10-18  Bruno Haible  <bruno@clisp.org>
39754
39755         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
39756
39757 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
39758
39759         * lib/xstrtol.h: Include gettext.h.
39760         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
39761         Problem reported by Eric Blake.
39762         * modules/xstrtol (Depends-on): Add gettext-h.
39763
39764 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
39765
39766         * lib/strftime.c (advance): New macro.
39767         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
39768         incomplete type, so you can't add 0 to it.  Problem and patch
39769         reported by Eelco Dolstra for dietlibc.
39770
39771 2006-10-18  Jim Meyering  <jim@meyering.net>
39772
39773         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
39774         type for a local, and rename it: s/up/user_proc/.
39775
39776 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
39777
39778         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
39779         READ_UTMP_USER_PROCESS.
39780         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
39781
39782 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
39783
39784         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
39785         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
39786
39787 2006-10-17  Eric Blake  <ebb9@byu.net>
39788
39789         * lib/sigprocmask.c (sigprocmask): Fix typo.
39790
39791         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
39792
39793         * modules/clean-temp (Makefile.am): Don't add to make output...
39794         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
39795         config.h.
39796
39797 2006-10-17  Bruno Haible  <bruno@clisp.org>
39798
39799         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
39800         differently if DEFAULT_TEXT_DOMAIN is set.
39801
39802 2006-10-16  Bruno Haible  <bruno@clisp.org>
39803
39804         * lib/clean-temp.c: Include fwriteerror.h.
39805
39806 2006-10-16  Bruno Haible  <bruno@clisp.org>
39807
39808         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
39809
39810 2006-10-16  Bruno Haible  <bruno@clisp.org>
39811
39812         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
39813         * lib/sigprocmask.h: Include <sys/types.h>.
39814         (sigset_t): Use the system's definition if present.
39815
39816 2006-10-17  Eric Blake  <ebb9@byu.net>
39817
39818         * lib/xvasprintf.c (includes): Assume config.h.
39819         * lib/xasprintf.c (includes): Likewise.
39820
39821 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39822
39823         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
39824         at least as wide as intmax_t.
39825
39826 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
39827
39828         (Imported from Automake.)
39829         * build-aux/gnupload: Update to version 1.1 of directive file.
39830
39831 2006-10-16  Eric Blake  <ebb9@byu.net>
39832
39833         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
39834         match Automake 1.10a.
39835
39836 2006-10-14  Bruno Haible  <bruno@clisp.org>
39837
39838         * modules/sigprocmask: New file.
39839         * lib/sigprocmask.h: New file.
39840         * lib/sigprocmask.c: New file.
39841         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
39842         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
39843         request sigprocmask.o.
39844         (gl_PREREQ_SIGPROCMASK): New macro.
39845         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
39846         (Depends-on): Add sigprocmask.
39847         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
39848         gt_SIGNALBLOCKING. Test for 'raise' only once.
39849         * lib/fatal-signal.c: Include sigprocmask.h.
39850         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
39851         unblock_fatal_signals): Define always.
39852         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39853         sigprocmask.
39854
39855 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
39856
39857         Sync from Automake.
39858         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
39859         which incorrectly sets the mode of an existing destination
39860         directory.  In some cases the unpatched install-sh could do the
39861         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
39862         system.  We hope this is rare in practice, but it's clearly worth
39863         fixing.  Problem reported by Alex Unleashed in
39864         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
39865         Also, don't bother to check for -m bugs unless we're using -m;
39866         suggested by Stepan Kasal.
39867
39868 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39869
39870         Sync from Automake.
39871         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
39872         `-c' flag, so they appear at the same position as in %FASTDEP%
39873         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
39874         which ignores unknown options only after the first non-option.
39875         Bug report against M4 by Nelson H. F. Beebe.
39876
39877 2006-10-13  Jim Meyering  <jim@meyering.net>
39878
39879         Fix a bug in yesterday's change.
39880         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
39881         p->fts_statp->st_dev would be used uninitialized.
39882         Ensures that we always call fts_stat on the very first entry.
39883         Miklos Szeredi reported that find -xdev stopped working.
39884
39885 2006-10-12  Bruno Haible  <bruno@clisp.org>
39886
39887         * gnulib-tool (func_get_automake_snippet): Append an automatically
39888         computed EXTRA_DIST augmentation.
39889         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
39890         * modules/alloca-opt (Makefile.am): Likewise.
39891         * modules/allocsa (Makefile.am): Likewise.
39892         * modules/arcfour (Makefile.am): Likewise.
39893         * modules/arctwo (Makefile.am): Likewise.
39894         * modules/argmatch (Makefile.am): Likewise.
39895         * modules/argz (Makefile.am): Likewise.
39896         * modules/atexit (Makefile.am): Likewise.
39897         * modules/backupfile (Makefile.am): Likewise.
39898         * modules/byteswap (Makefile.am): Likewise.
39899         * modules/c-strtod (Makefile.am): Likewise.
39900         * modules/c-strtold (Makefile.am): Likewise.
39901         * modules/calloc (Makefile.am): Likewise.
39902         * modules/canon-host (Makefile.am): Likewise.
39903         * modules/canonicalize (Makefile.am): Likewise.
39904         * modules/chdir-long (Makefile.am): Likewise.
39905         * modules/chdir-safer (Makefile.am): Likewise.
39906         * modules/check-version (Makefile.am): Likewise.
39907         * modules/chown (Makefile.am): Likewise.
39908         * modules/cloexec (Makefile.am): Likewise.
39909         * modules/close-stream (Makefile.am): Likewise.
39910         * modules/closeout (Makefile.am): Likewise.
39911         * modules/crc (Makefile.am): Likewise.
39912         * modules/csharpexec (Makefile.am): Likewise.
39913         * modules/cycle-check (Makefile.am): Likewise.
39914         * modules/des (Makefile.am): Likewise.
39915         * modules/dev-ino (Makefile.am): Likewise.
39916         * modules/dirfd (Makefile.am): Likewise.
39917         * modules/dirname (Makefile.am): Likewise.
39918         * modules/dup2 (Makefile.am): Likewise.
39919         * modules/eealloc (Makefile.am): Likewise.
39920         * modules/error (Makefile.am): Likewise.
39921         * modules/euidaccess (Makefile.am): Likewise.
39922         * modules/exclude (Makefile.am): Likewise.
39923         * modules/exitfail (Makefile.am): Likewise.
39924         * modules/fcntl-safer (Makefile.am): Likewise.
39925         * modules/fcntl (Makefile.am): Likewise.
39926         * modules/file-type (Makefile.am): Likewise.
39927         * modules/fileblocks (Makefile.am): Likewise.
39928         * modules/filemode (Makefile.am): Likewise.
39929         * modules/filenamecat (Makefile.am): Likewise.
39930         * modules/fnmatch (Makefile.am): Likewise.
39931         * modules/fopen-safer (Makefile.am): Likewise.
39932         * modules/fpending (Makefile.am): Likewise.
39933         * modules/fprintftime (Makefile.am): Likewise.
39934         * modules/free (Makefile.am): Likewise.
39935         * modules/fsusage (Makefile.am): Likewise.
39936         * modules/ftruncate (Makefile.am): Likewise.
39937         * modules/fts (Makefile.am): Likewise.
39938         * modules/gc-arcfour (Makefile.am): Likewise.
39939         * modules/gc-des (Makefile.am): Likewise.
39940         * modules/gc-hmac-md5 (Makefile.am): Likewise.
39941         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
39942         * modules/gc-md4 (Makefile.am): Likewise.
39943         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
39944         * modules/gc-sha1 (Makefile.am): Likewise.
39945         * modules/gc (Makefile.am): Likewise.
39946         * modules/getaddrinfo (Makefile.am): Likewise.
39947         * modules/getcwd (Makefile.am): Likewise.
39948         * modules/getdelim (Makefile.am): Likewise.
39949         * modules/getdomainname (Makefile.am): Likewise.
39950         * modules/getgroups (Makefile.am): Likewise.
39951         * modules/gethostname (Makefile.am): Likewise.
39952         * modules/gethrxtime (Makefile.am): Likewise.
39953         * modules/getline (Makefile.am): Likewise.
39954         * modules/getloadavg (Makefile.am): Likewise.
39955         * modules/getlogin_r (Makefile.am): Likewise.
39956         * modules/getndelim2 (Makefile.am): Likewise.
39957         * modules/getopt (Makefile.am): Likewise.
39958         * modules/getpagesize (Makefile.am): Likewise.
39959         * modules/getpass-gnu (Makefile.am): Likewise.
39960         * modules/getpass (Makefile.am): Likewise.
39961         * modules/getsubopt (Makefile.am): Likewise.
39962         * modules/gettime (Makefile.am): Likewise.
39963         * modules/gettimeofday (Makefile.am): Likewise.
39964         * modules/getugroups (Makefile.am): Likewise.
39965         * modules/getusershell (Makefile.am): Likewise.
39966         * modules/glob (Makefile.am): Likewise.
39967         * modules/group-member (Makefile.am): Likewise.
39968         * modules/hard-locale (Makefile.am): Likewise.
39969         * modules/hash (Makefile.am): Likewise.
39970         * modules/hmac-md5 (Makefile.am): Likewise.
39971         * modules/hmac-sha1 (Makefile.am): Likewise.
39972         * modules/human (Makefile.am): Likewise.
39973         * modules/idcache (Makefile.am): Likewise.
39974         * modules/imaxabs (Makefile.am): Likewise.
39975         * modules/imaxdiv (Makefile.am): Likewise.
39976         * modules/inet_ntop (Makefile.am): Likewise.
39977         * modules/inet_pton (Makefile.am): Likewise.
39978         * modules/intprops (Makefile.am): Likewise.
39979         * modules/inttostr (Makefile.am): Likewise.
39980         * modules/inttypes (Makefile.am): Likewise.
39981         * modules/isapipe (Makefile.am): Likewise.
39982         * modules/javaversion (Makefile.am): Likewise.
39983         * modules/lchmod (Makefile.am): Likewise.
39984         * modules/lchown (Makefile.am): Likewise.
39985         * modules/localcharset (Makefile.am): Likewise.
39986         * modules/long-options (Makefile.am): Likewise.
39987         * modules/lstat (Makefile.am): Likewise.
39988         * modules/malloc (Makefile.am): Likewise.
39989         * modules/mathl (Makefile.am): Likewise.
39990         * modules/mbchar (Makefile.am): Likewise.
39991         * modules/md2 (Makefile.am): Likewise.
39992         * modules/md4 (Makefile.am): Likewise.
39993         * modules/md5 (Makefile.am): Likewise.
39994         * modules/memcasecmp (Makefile.am): Likewise.
39995         * modules/memchr (Makefile.am): Likewise.
39996         * modules/memcmp (Makefile.am): Likewise.
39997         * modules/memcoll (Makefile.am): Likewise.
39998         * modules/memcpy (Makefile.am): Likewise.
39999         * modules/memmem (Makefile.am): Likewise.
40000         * modules/memmove (Makefile.am): Likewise.
40001         * modules/mempcpy (Makefile.am): Likewise.
40002         * modules/memrchr (Makefile.am): Likewise.
40003         * modules/memset (Makefile.am): Likewise.
40004         * modules/memxor (Makefile.am): Likewise.
40005         * modules/mkancesdirs (Makefile.am): Likewise.
40006         * modules/mkdir-p (Makefile.am): Likewise.
40007         * modules/mkdir (Makefile.am): Likewise.
40008         * modules/mkdtemp (Makefile.am): Likewise.
40009         * modules/mkstemp (Makefile.am): Likewise.
40010         * modules/mktime (Makefile.am): Likewise.
40011         * modules/modechange (Makefile.am): Likewise.
40012         * modules/mountlist (Makefile.am): Likewise.
40013         * modules/nanosleep (Makefile.am): Likewise.
40014         * modules/obstack (Makefile.am): Likewise.
40015         * modules/openat (Makefile.am): Likewise.
40016         * modules/pagealign_alloc (Makefile.am): Likewise.
40017         * modules/pathmax (Makefile.am): Likewise.
40018         * modules/physmem (Makefile.am): Likewise.
40019         * modules/poll (Makefile.am): Likewise.
40020         * modules/posixtm (Makefile.am): Likewise.
40021         * modules/posixver (Makefile.am): Likewise.
40022         * modules/putenv (Makefile.am): Likewise.
40023         * modules/quote (Makefile.am): Likewise.
40024         * modules/quotearg (Makefile.am): Likewise.
40025         * modules/raise (Makefile.am): Likewise.
40026         * modules/read-file (Makefile.am): Likewise.
40027         * modules/readline (Makefile.am): Likewise.
40028         * modules/readlink (Makefile.am): Likewise.
40029         * modules/readtokens (Makefile.am): Likewise.
40030         * modules/readutmp (Makefile.am): Likewise.
40031         * modules/realloc (Makefile.am): Likewise.
40032         * modules/regex (Makefile.am): Likewise.
40033         * modules/rename-dest-slash (Makefile.am): Likewise.
40034         * modules/rename (Makefile.am): Likewise.
40035         * modules/rijndael (Makefile.am): Likewise.
40036         * modules/rmdir (Makefile.am): Likewise.
40037         * modules/rpmatch (Makefile.am): Likewise.
40038         * modules/safe-read (Makefile.am): Likewise.
40039         * modules/safe-write (Makefile.am): Likewise.
40040         * modules/same-inode (Makefile.am): Likewise.
40041         * modules/same (Makefile.am): Likewise.
40042         * modules/save-cwd (Makefile.am): Likewise.
40043         * modules/savedir (Makefile.am): Likewise.
40044         * modules/setenv (Makefile.am): Likewise.
40045         * modules/settime (Makefile.am): Likewise.
40046         * modules/sha1 (Makefile.am): Likewise.
40047         * modules/sig2str (Makefile.am): Likewise.
40048         * modules/snprintf (Makefile.am): Likewise.
40049         * modules/stat-macros (Makefile.am): Likewise.
40050         * modules/stat-time (Makefile.am): Likewise.
40051         * modules/stdbool (Makefile.am): Likewise.
40052         * modules/stdint (Makefile.am): Likewise.
40053         * modules/stdlib-safer (Makefile.am): Likewise.
40054         * modules/stpcpy (Makefile.am): Likewise.
40055         * modules/stpncpy (Makefile.am): Likewise.
40056         * modules/strcase (Makefile.am): Likewise.
40057         * modules/strcasestr (Makefile.am): Likewise.
40058         * modules/strchrnul (Makefile.am): Likewise.
40059         * modules/strcspn (Makefile.am): Likewise.
40060         * modules/strdup (Makefile.am): Likewise.
40061         * modules/strerror (Makefile.am): Likewise.
40062         * modules/strftime (Makefile.am): Likewise.
40063         * modules/strndup (Makefile.am): Likewise.
40064         * modules/strnlen (Makefile.am): Likewise.
40065         * modules/strpbrk (Makefile.am): Likewise.
40066         * modules/strsep (Makefile.am): Likewise.
40067         * modules/strstr (Makefile.am): Likewise.
40068         * modules/strtod (Makefile.am): Likewise.
40069         * modules/strtoimax (Makefile.am): Likewise.
40070         * modules/strtok_r (Makefile.am): Likewise.
40071         * modules/strtol (Makefile.am): Likewise.
40072         * modules/strtoll (Makefile.am): Likewise.
40073         * modules/strtoul (Makefile.am): Likewise.
40074         * modules/strtoull (Makefile.am): Likewise.
40075         * modules/strtoumax (Makefile.am): Likewise.
40076         * modules/strverscmp (Makefile.am): Likewise.
40077         * modules/sys_socket (Makefile.am): Likewise.
40078         * modules/sys_stat (Makefile.am): Likewise.
40079         * modules/sysexits (Makefile.am): Likewise.
40080         * modules/time_r (Makefile.am): Likewise.
40081         * modules/timegm (Makefile.am): Likewise.
40082         * modules/timespec (Makefile.am): Likewise.
40083         * modules/tmpfile-safer (Makefile.am): Likewise.
40084         * modules/trim (Makefile.am): Likewise.
40085         * modules/unistd-safer (Makefile.am): Likewise.
40086         * modules/unlinkdir (Makefile.am): Likewise.
40087         * modules/unlocked-io (Makefile.am): Likewise.
40088         * modules/userspec (Makefile.am): Likewise.
40089         * modules/utime (Makefile.am): Likewise.
40090         * modules/utimecmp (Makefile.am): Likewise.
40091         * modules/utimens (Makefile.am): Likewise.
40092         * modules/vasnprintf (Makefile.am): Likewise.
40093         * modules/vasprintf (Makefile.am): Likewise.
40094         * modules/vsnprintf (Makefile.am): Likewise.
40095         * modules/xalloc (Makefile.am): Likewise.
40096         * modules/xgetcwd (Makefile.am): Likewise.
40097         * modules/xnanosleep (Makefile.am): Likewise.
40098         * modules/xreadlink (Makefile.am): Likewise.
40099         * modules/xstrtod (Makefile.am): Likewise.
40100         * modules/xstrtol (Makefile.am): Likewise.
40101         * modules/xstrtold (Makefile.am): Likewise.
40102         * modules/yesno (Makefile.am): Likewise.
40103         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
40104
40105 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
40106
40107         * modules/error (Makefile.am): Distribute files through
40108         EXTRA_DIST, not lib_SOURCES.
40109
40110 2006-10-12  Eric Blake  <ebb9@byu.net>
40111
40112         * modules/error (Makefile.am): Distribute files in /lib.
40113         * modules/obstack (Makefile.am): Likewise.
40114
40115 2006-10-12  Bruno Haible  <bruno@clisp.org>
40116
40117         * modules/acl (Makefile.am): Distribute all files in lib/ through
40118         EXTRA_DIST.
40119         * modules/arcfour (Makefile.am): Likewise.
40120         * modules/arctwo (Makefile.am): Likewise.
40121         * modules/argmatch (Makefile.am): Likewise.
40122         * modules/argz (Makefile.am): Likewise.
40123         * modules/atexit (Makefile.am): Likewise.
40124         * modules/backupfile (Makefile.am): Likewise.
40125         * modules/c-strtod (Makefile.am): Likewise.
40126         * modules/c-strtold (Makefile.am): Likewise.
40127         * modules/calloc (Makefile.am): Likewise.
40128         * modules/canon-host (Makefile.am): Likewise.
40129         * modules/canonicalize (Makefile.am): Likewise.
40130         * modules/chdir-long (Makefile.am): Likewise.
40131         * modules/chdir-safer (Makefile.am): Likewise.
40132         * modules/check-version (Makefile.am): Likewise.
40133         * modules/chown (Makefile.am): Likewise.
40134         * modules/cloexec (Makefile.am): Likewise.
40135         * modules/close-stream (Makefile.am): Likewise.
40136         * modules/closeout (Makefile.am): Likewise.
40137         * modules/crc (Makefile.am): Likewise.
40138         * modules/cycle-check (Makefile.am): Likewise.
40139         * modules/des (Makefile.am): Likewise.
40140         * modules/dirfd (Makefile.am): Likewise.
40141         * modules/dirname (Makefile.am): Likewise.
40142         * modules/dup2 (Makefile.am): Likewise.
40143         * modules/euidaccess (Makefile.am): Likewise.
40144         * modules/exclude (Makefile.am): Likewise.
40145         * modules/exitfail (Makefile.am): Likewise.
40146         * modules/fcntl-safer (Makefile.am): Likewise.
40147         * modules/file-type (Makefile.am): Likewise.
40148         * modules/fileblocks (Makefile.am): Likewise.
40149         * modules/filemode (Makefile.am): Likewise.
40150         * modules/filenamecat (Makefile.am): Likewise.
40151         * modules/fnmatch (Makefile.am): Likewise.
40152         * modules/fopen-safer (Makefile.am): Likewise.
40153         * modules/fpending (Makefile.am): Likewise.
40154         * modules/fprintftime (Makefile.am): Likewise.
40155         * modules/free (Makefile.am): Likewise.
40156         * modules/fsusage (Makefile.am): Likewise.
40157         * modules/ftruncate (Makefile.am): Likewise.
40158         * modules/fts (Makefile.am): Likewise.
40159         * modules/gc (Makefile.am): Likewise.
40160         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
40161         * modules/getaddrinfo (Makefile.am): Likewise.
40162         * modules/getcwd (Makefile.am): Likewise.
40163         * modules/getdelim (Makefile.am): Likewise.
40164         * modules/getdomainname (Makefile.am): Likewise.
40165         * modules/getgroups (Makefile.am): Likewise.
40166         * modules/gethostname (Makefile.am): Likewise.
40167         * modules/gethrxtime (Makefile.am): Likewise.
40168         * modules/getline (Makefile.am): Likewise.
40169         * modules/getloadavg (Makefile.am): Likewise.
40170         * modules/getlogin_r (Makefile.am): Likewise.
40171         * modules/getopt (Makefile.am): Likewise.
40172         * modules/getpass (Makefile.am): Likewise.
40173         * modules/getpass-gnu (Makefile.am): Likewise.
40174         * modules/getsubopt (Makefile.am): Likewise.
40175         * modules/gettime (Makefile.am): Likewise.
40176         * modules/gettimeofday (Makefile.am): Likewise.
40177         * modules/getugroups (Makefile.am): Likewise.
40178         * modules/getusershell (Makefile.am): Likewise.
40179         * modules/glob (Makefile.am): Likewise.
40180         * modules/group-member (Makefile.am): Likewise.
40181         * modules/hard-locale (Makefile.am): Likewise.
40182         * modules/hash (Makefile.am): Likewise.
40183         * modules/hmac-md5 (Makefile.am): Likewise.
40184         * modules/hmac-sha1 (Makefile.am): Likewise.
40185         * modules/human (Makefile.am): Likewise.
40186         * modules/idcache (Makefile.am): Likewise.
40187         * modules/imaxabs (Makefile.am): Likewise.
40188         * modules/imaxdiv (Makefile.am): Likewise.
40189         * modules/inet_ntop (Makefile.am): Likewise.
40190         * modules/inet_pton (Makefile.am): Likewise.
40191         * modules/inttostr (Makefile.am): Likewise.
40192         * modules/isapipe (Makefile.am): Likewise.
40193         * modules/lchown (Makefile.am): Likewise.
40194         * modules/long-options (Makefile.am): Likewise.
40195         * modules/lstat (Makefile.am): Likewise.
40196         * modules/malloc (Makefile.am): Likewise.
40197         * modules/mathl (Makefile.am): Likewise.
40198         * modules/mbchar (Makefile.am): Likewise.
40199         * modules/md2 (Makefile.am): Likewise.
40200         * modules/md4 (Makefile.am): Likewise.
40201         * modules/md5 (Makefile.am): Likewise.
40202         * modules/memcasecmp (Makefile.am): Likewise.
40203         * modules/memchr (Makefile.am): Likewise.
40204         * modules/memcmp (Makefile.am): Likewise.
40205         * modules/memcoll (Makefile.am): Likewise.
40206         * modules/memcpy (Makefile.am): Likewise.
40207         * modules/memmem (Makefile.am): Likewise.
40208         * modules/memmove (Makefile.am): Likewise.
40209         * modules/mempcpy (Makefile.am): Likewise.
40210         * modules/memrchr (Makefile.am): Likewise.
40211         * modules/memset (Makefile.am): Likewise.
40212         * modules/memxor (Makefile.am): Likewise.
40213         * modules/mkancesdirs (Makefile.am): Likewise.
40214         * modules/mkdir (Makefile.am): Likewise.
40215         * modules/mkdir-p (Makefile.am): Likewise.
40216         * modules/mkdtemp (Makefile.am): Likewise.
40217         * modules/mkstemp (Makefile.am): Likewise.
40218         * modules/mktime (Makefile.am): Likewise.
40219         * modules/modechange (Makefile.am): Likewise.
40220         * modules/mountlist (Makefile.am): Likewise.
40221         * modules/nanosleep (Makefile.am): Likewise.
40222         * modules/openat (Makefile.am): Likewise.
40223         * modules/pagealign_alloc (Makefile.am): Likewise.
40224         * modules/physmem (Makefile.am): Likewise.
40225         * modules/poll (Makefile.am): Likewise.
40226         * modules/posixtm (Makefile.am): Likewise.
40227         * modules/posixver (Makefile.am): Likewise.
40228         * modules/putenv (Makefile.am): Likewise.
40229         * modules/quote (Makefile.am): Likewise.
40230         * modules/quotearg (Makefile.am): Likewise.
40231         * modules/raise (Makefile.am): Likewise.
40232         * modules/read-file (Makefile.am): Likewise.
40233         * modules/readline (Makefile.am): Likewise.
40234         * modules/readlink (Makefile.am): Likewise.
40235         * modules/readtokens (Makefile.am): Likewise.
40236         * modules/readutmp (Makefile.am): Likewise.
40237         * modules/realloc (Makefile.am): Likewise.
40238         * modules/regex (Makefile.am): Likewise.
40239         * modules/rename (Makefile.am): Likewise.
40240         * modules/rename-dest-slash (Makefile.am): Likewise.
40241         * modules/rijndael (Makefile.am): Likewise.
40242         * modules/rmdir (Makefile.am): Likewise.
40243         * modules/rpmatch (Makefile.am): Likewise.
40244         * modules/safe-read (Makefile.am): Likewise.
40245         * modules/safe-write (Makefile.am): Likewise.
40246         * modules/same (Makefile.am): Likewise.
40247         * modules/save-cwd (Makefile.am): Likewise.
40248         * modules/savedir (Makefile.am): Likewise.
40249         * modules/setenv (Makefile.am): Likewise.
40250         * modules/settime (Makefile.am): Likewise.
40251         * modules/sha1 (Makefile.am): Likewise.
40252         * modules/sig2str (Makefile.am): Likewise.
40253         * modules/snprintf (Makefile.am): Likewise.
40254         * modules/stdlib-safer (Makefile.am): Likewise.
40255         * modules/stpcpy (Makefile.am): Likewise.
40256         * modules/stpncpy (Makefile.am): Likewise.
40257         * modules/strcase (Makefile.am): Likewise.
40258         * modules/strcasestr (Makefile.am): Likewise.
40259         * modules/strchrnul (Makefile.am): Likewise.
40260         * modules/strcspn (Makefile.am): Likewise.
40261         * modules/strdup (Makefile.am): Likewise.
40262         * modules/strerror (Makefile.am): Likewise.
40263         * modules/strftime (Makefile.am): Likewise.
40264         * modules/strndup (Makefile.am): Likewise.
40265         * modules/strnlen (Makefile.am): Likewise.
40266         * modules/strpbrk (Makefile.am): Likewise.
40267         * modules/strsep (Makefile.am): Likewise.
40268         * modules/strstr (Makefile.am): Likewise.
40269         * modules/strtod (Makefile.am): Likewise.
40270         * modules/strtoimax (Makefile.am): Likewise.
40271         * modules/strtok_r (Makefile.am): Likewise.
40272         * modules/strtol (Makefile.am): Likewise.
40273         * modules/strtoll (Makefile.am): Likewise.
40274         * modules/strtoul (Makefile.am): Likewise.
40275         * modules/strtoull (Makefile.am): Likewise.
40276         * modules/strtoumax (Makefile.am): Likewise.
40277         * modules/strverscmp (Makefile.am): Likewise.
40278         * modules/time_r (Makefile.am): Likewise.
40279         * modules/timegm (Makefile.am): Likewise.
40280         * modules/tmpfile-safer (Makefile.am): Likewise.
40281         * modules/unistd-safer (Makefile.am): Likewise.
40282         * modules/unlinkdir (Makefile.am): Likewise.
40283         * modules/userspec (Makefile.am): Likewise.
40284         * modules/utime (Makefile.am): Likewise.
40285         * modules/utimecmp (Makefile.am): Likewise.
40286         * modules/utimens (Makefile.am): Likewise.
40287         * modules/vasnprintf (Makefile.am): Likewise.
40288         * modules/vasprintf (Makefile.am): Likewise.
40289         * modules/vsnprintf (Makefile.am): Likewise.
40290         * modules/xalloc (Makefile.am): Likewise.
40291         * modules/xgetcwd (Makefile.am): Likewise.
40292         * modules/xnanosleep (Makefile.am): Likewise.
40293         * modules/xreadlink (Makefile.am): Likewise.
40294         * modules/xstrtod (Makefile.am): Likewise.
40295         * modules/xstrtol (Makefile.am): Likewise.
40296         * modules/xstrtold (Makefile.am): Likewise.
40297         * modules/yesno (Makefile.am): Likewise.
40298
40299 2006-10-12  Jim Meyering  <jim@meyering.net>
40300
40301         * m4/getloadavg.m4: Revert the change below.
40302
40303         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
40304         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
40305         fail with a symlink, which is what coreutils' ./bootstrap now
40306         creates by default.
40307
40308 2006-10-12  Bruno Haible  <bruno@clisp.org>
40309
40310         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
40311         mingw.
40312         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
40313         MSVC and mingw explicitly.
40314
40315 2006-10-11  Simon Josefsson  <jas@extundo.com>
40316             Bruno Haible  <bruno@clisp.org>
40317
40318         Add support for multiple gnulib-tool invocations in the scope of a
40319         single configure.ac file.
40320         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
40321         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
40322         with the same contents as the _LIBADD variable.
40323         (func_emit_initmacro_start, func_emit_initmacro_end,
40324         func_emit_initmacro_done): New functions.
40325         (func_import, func_create_testdir): Invoke them. Allow the identifiers
40326         gl_LIBOBJS and gl_LTLIBOBJS.
40327
40328 2006-10-11  Bruno Haible  <bruno@clisp.org>
40329
40330         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
40331         (func_create_testdir): Don't create po/Makefile.am, don't invoke
40332         autoreconf. Instead, invoke autopoint explicitly but move back the
40333         *.m4 files from gnulib.
40334
40335 2006-10-11  Bruno Haible  <bruno@clisp.org>
40336
40337         * gnulib-tool (func_usage): Make module names after --create-testdir
40338         optional.
40339         (func_create_testdir): If no module was specified, use nearly all
40340         modules.
40341
40342 2006-10-12  Jim Meyering  <jim@meyering.net>
40343
40344         Big performance improvement for fts-based tools that use FTS_NOSTAT.
40345         Avoid spurious inode-mismatch problems on non-POSIX file systems.
40346         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
40347         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
40348         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
40349         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
40350         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
40351         (fts_set_stat_required): New function.
40352         (fts_open): Defer the calls to fts_stat, if possible or requested.
40353         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
40354         into fts_stat itself.
40355         (fts_read): Perform any required (deferred) fts_stat call.
40356         (fts_build): Likewise, for the directory we're about to open and read.
40357         In the readdir loop, carefully decide whether each entry will require
40358         an eventual call to fts_stat, using dirent.d_type info if available.
40359         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
40360         a command line argument into this function.  Update all callers.
40361         Map a return value of FTS_DOT to FTS_D for a command line argument.
40362         * modules/fts (Depends-on): Add d-type.  Alphabetize.
40363         Thanks to Miklos Szeredi for his tenacity and for the initial
40364         bug report about "find" failing on a FUSE-based file system.
40365
40366         * lib/fts.c (fts_open): Use consistent indentation.
40367
40368 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
40369
40370         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
40371         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
40372         reported by Jim Meyering.  All uses of cache variables renamed
40373         to match Autoconf's.
40374         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
40375         the other one.
40376
40377         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40378         Fix misspelling in diagnostic.
40379
40380 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40381
40382         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
40383         defined.  Problem reported by Matthew Woehlke.
40384
40385         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
40386         Add support for Tandem NonStop R series.
40387         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
40388         Use new macro.
40389
40390         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
40391         (has_trailing_slash): Omit size arg; all callers changed.
40392         Omit 'inline', since it doesn't help performance and we'd
40393         need to configure it.
40394         Don't count //, ///, etc. as having a trailing slash.
40395         As a side effect, this removes a C99ism reported by Matthew Woehlke.
40396         (rpl_rename_dest_slash): On failure, use rename's errno rather
40397         than (in some cases) an incorrect or junk errno.
40398         Simplify code by removing need to compute length; this does
40399         cause it to make two passes instead of one over the file name,
40400         but it's worth it.
40401
40402         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
40403         change, since Autoconf's version may no longer be appropriate now
40404         that we are using CVS Autoconf's version.  Add support for Tandem.
40405
40406 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40407             Bruno Haible  <bruno@clisp.org>
40408
40409         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
40410         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
40411         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
40412         gl_AC_TYPE_LONG_LONG.
40413
40414         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
40415         instead of HAVE_LONG_LONG.
40416         * lib/printf-args.c (printf_fetchargs): Likewise.
40417         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
40418         * lib/vasnprintf.c (VASNPRINTF): Likewise.
40419         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
40420         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
40421         gl_AC_TYPE_LONG_LONG.
40422
40423 2006-10-11  Bruno Haible  <bruno@clisp.org>
40424
40425         * m4/longlong.m4: Add comments.
40426         * m4/ulonglong.m4: Likewise.
40427
40428 2006-10-10  Bruno Haible  <bruno@clisp.org>
40429
40430         Make it possible to #define stpcpy, strdup to aliases.
40431         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
40432         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
40433
40434 2006-10-10  Bruno Haible  <bruno@clisp.org>
40435
40436         Make it possible to #define gcd to an alias.
40437         * lib/gcd.c: Include config.h.
40438
40439 2006-10-10  Bruno Haible  <bruno@clisp.org>
40440
40441         Make it possible to #define c_isascii to an alias.
40442         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
40443         defined. Undefine the macros before defining them, to avoid gcc
40444         warnings.
40445         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
40446         define NO_C_CTYPE_MACROS early.
40447
40448 2006-10-10  Bruno Haible  <bruno@clisp.org>
40449
40450         Make it possible to #define set_program_name to an alias.
40451         * lib/progname.c: Don't undefine set_program_name; instead, undefine
40452         ENABLE_RELOCATABLE early.
40453
40454 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40455
40456         Port to Tandem NSK OSS, which has 64-bit signed int but at most
40457         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
40458         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
40459         More generally, don't assume that 64-bit signed int is available
40460         if unsigned int is, and vice versa.
40461         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
40462         unsigned symbols, not on their signed counterparts.
40463         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
40464         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
40465         (UINT64_C, UINTMAX_C):
40466         Likewise.
40467         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
40468         unsigned counterparts.
40469         (Have_long_long, Unsigned): New macros.
40470         (Int): Renamed from INT.
40471         (strtoimax): Use the new macros.
40472         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
40473         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
40474         * modules/inttypes (inttypes.h): Substitute
40475         HAVE_UNSIGNED_LONG_LONG_INT.
40476         * modules/stdint (stdint.h): Likewise.
40477         (Files): Add m4/ulonglong.m4.
40478
40479 2006-10-10  Bruno Haible  <bruno@clisp.org>
40480
40481         Fix a gcc -Wshadow warning.
40482         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
40483         to 'bucket'.
40484         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
40485         gl_linked_indexof_from_to): Likewise.
40486         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
40487         Likewise.
40488         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
40489         Likewise.
40490         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
40491         Reported by Eric Blake.
40492
40493 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
40494
40495         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
40496         for NetBSD.  Problem reported by Bruno Haible.
40497
40498 2006-10-09  Jim Meyering  <jim@meyering.net>
40499
40500         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
40501         Patch from Bruno Haible.
40502
40503 2006-10-09  Jim Meyering  <jim@meyering.net>
40504
40505         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
40506         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
40507         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
40508
40509 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40510
40511         Don't include <config.h> twice; this doesn't work in some cases,
40512         e.g., when config.h has "#define intmax_t long long int" and
40513         we include <config.h>, <inttypes.h>, <config.h> in that order.
40514         Problem reported by Matthew Woehlke in:
40515         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
40516         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
40517         * lib/fts-cycle.c: Don't include config.h.
40518         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
40519         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
40520         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
40521         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
40522         inttypes.h.
40523         * lib/xstrtoumax.c: Likewise.
40524         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
40525         __strtol and the like, so that this module is more like its siblings.
40526         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
40527         Remove; no longer needed now that we assume gnulib inttypes.h.
40528
40529 2006-10-08  Bruno Haible  <bruno@clisp.org>
40530
40531         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
40532         option.
40533
40534 2006-10-07  Jim Meyering  <jim@meyering.net>
40535
40536         * modules/inttypes (inttypes.h): Revert what seems to have been
40537         an inadvertent part of today's change: use "|", not "/" in the
40538         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
40539
40540 2006-10-07  Bruno Haible  <bruno@clisp.org>
40541
40542         * modules/sublist: New file.
40543
40544 2006-10-07  Bruno Haible  <bruno@clisp.org>
40545
40546         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
40547         * modules/argz (argz.h): Likewise.
40548         * modules/arpa_inet (arpa/inet.h): Likewise.
40549         * modules/byteswap (byteswap.h): Likewise.
40550         * modules/configmake (configmake.h): Likewise.
40551         * modules/fcntl (fcntl.h): Likewise.
40552         * modules/fnmatch (fnmatch.h): Likewise.
40553         * modules/getopt (getopt.h): Likewise.
40554         * modules/glob (glob.h): Likewise.
40555         * modules/inttypes (inttypes.h): Likewise.
40556         * modules/netinet_in (netinet/in.h): Likewise.
40557         * modules/poll (poll.h): Likewise.
40558         * modules/stdbool (stdbool.h): Likewise.
40559         * modules/stdint (stdint.h): Likewise.
40560         * modules/sys_select (sys/select.h): Likewise.
40561         * modules/sys_socket (sys/socket.h): Likewise.
40562         * modules/sys_stat (sys/stat.h): Likewise.
40563         * modules/sysexits (sysexits.h): Likewise.
40564         * modules/unistd (unistd.h): Likewise.
40565         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40566         Add a "DO NOT EDIT" comment to the generated file.
40567         (func_import): Likewise for gnulib-comp.m4.
40568
40569 2006-10-07  Bruno Haible  <bruno@clisp.org>
40570
40571         * lib/gl_sublist.h: New file.
40572         * lib/gl_sublist.c: New file.
40573
40574 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
40575
40576         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
40577         name (relative to the original working directory) and the file
40578         name component (relative to the temporary working directory).  All
40579         callers changed.
40580         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
40581         * lib/mkdir-p.c (make_dir_parents): Likewise.
40582         * lib/mkdir-p.h (make_dir_parents): Likewise.
40583
40584 2006-10-06  Eric Blake  <ebb9@byu.net>
40585
40586         Define several macros for use by the clean-temp module.
40587         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
40588         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
40589         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
40590
40591         * lib/clean-temp.h (close_stream_temp): New declaration.
40592         * lib/clean-temp.c (includes): Pull in headers according to what
40593         other modules are in use.
40594         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
40595
40596 2006-10-06  Bruno Haible  <bruno@clisp.org>
40597
40598         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
40599         instead of fopen, fwriteerror.
40600
40601 2006-10-06  Bruno Haible  <bruno@clisp.org>
40602
40603         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
40604         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
40605         int.
40606         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
40607         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
40608         Return an error indicator.
40609         Suggested by Eric Blake.
40610
40611 2006-10-06  Bruno Haible  <bruno@clisp.org>
40612
40613         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
40614         Reported by Eric Blake.
40615
40616 2006-10-06  Bruno Haible  <bruno@clisp.org>
40617
40618         * modules/closeout (Description): Mention stderr too.
40619
40620 2006-10-06  Bruno Haible  <bruno@clisp.org>
40621         and Paul Eggert  <eggert@cs.ucla.edu>
40622
40623         * lib/closeout.c (close_stdout): Also close stderr.
40624         * lib/closeout.h: Update comment.
40625
40626 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
40627
40628         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
40629         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
40630         * lib/dirchownmod.c: Include lchown.h.
40631         * lib/lchown.c: Don't include files that lchown.h now includes.
40632         Don't declare chown, since lchown.h now does that.
40633         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
40634         (lchown): Define to rpl_chown if lchown is declared but
40635         does not exist.  Declare using a prototype if lchown is not
40636         declared.  Add a copyright notice.
40637         * lib/mkstemp.h: Include <unistd.h>.
40638         * lib/openat.c: Include lchown.h.
40639
40640         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
40641         we now test for that separately.
40642         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
40643         rather than O_NOFOLLOW, when testing whether it's possible to
40644         avoid a race condition reliably.
40645         * lib/savewd.c (savewd_chdir): Likewise.
40646
40647         Remove macros that are no longer needed now that stdint.h is
40648         reliable.
40649         * lib/fsusage.c (UINTMAX_MAX): Remove.
40650         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
40651         * lib/utimecmp.c (SIZE_MAX): Remove.
40652
40653         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
40654
40655         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
40656         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
40657         O_NOATIME works.
40658
40659 2006-10-05  Bruno Haible  <bruno@clisp.org>
40660
40661         * lib/gl_list.h (gl_sortedlist_search_from_to,
40662         gl_sortedlist_indexof_from_to): New declarations.
40663         (gl_list_implementation): New fields sortedlist_search_from_to,
40664         sortedlist_indexof_from_to.
40665         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
40666         inline functions.
40667         * lib/gl_list.c (gl_sortedlist_search_from_to,
40668         gl_sortedlist_indexof_from_to): New functions.
40669         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
40670         function.
40671         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
40672         (gl_array_sortedlist_search_from_to): New function.
40673         (gl_array_list_implementation): Update.
40674         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
40675         function.
40676         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
40677         (gl_carray_sortedlist_search_from_to): New function.
40678         (gl_carray_list_implementation): Update.
40679         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
40680         gl_linked_sortedlist_indexof_from_to): New functions.
40681         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40682         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40683         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
40684         gl_tree_sortedlist_indexof_from_to): New functions.
40685         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40686         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40687         Update.
40688         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40689         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
40690         Update.
40691
40692 2006-10-05  Bruno Haible  <bruno@clisp.org>
40693
40694         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
40695         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
40696         (struct gl_list_implementation): Add fields search_from_to,
40697         indexof_from_to. Remove fields search, indexof.
40698         (gl_list_search): Use the search_from_to method.
40699         (gl_list_search_from, gl_list_search_from_to): New functions.
40700         (gl_list_indexof): Use the indexof_from_to method.
40701         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
40702         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
40703         (gl_list_search_from, gl_list_search_from_to): New functions.
40704         (gl_list_indexof): Use the indexof_from_to method.
40705         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
40706         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
40707         gl_array_indexof. Add start_index, end_index arguments.
40708         (gl_array_search_from_to): Renamed from gl_array_search. Add
40709         start_index, end_index arguments.
40710         (gl_array_remove, gl_array_list_implementation): Update.
40711         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
40712         gl_carray_indexof. Add start_index, end_index arguments.
40713         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
40714         start_index, end_index arguments.
40715         (gl_carray_remove, gl_carray_list_implementation): Update.
40716         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
40717         gl_linked_search. Add start_index, end_index arguments.
40718         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
40719         start_index, end_index arguments.
40720         (gl_linked_remove): Update.
40721         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40722         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40723         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
40724         field to 'size_t'.
40725         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
40726         gl_tree_search. Add start_index, end_index arguments.
40727         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
40728         start_index, end_index arguments.
40729         (gl_tree_remove): Update.
40730         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40731         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40732         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
40733         function.
40734         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
40735         gl_tree_search. Add start_index, end_index arguments.
40736         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
40737         start_index, end_index arguments.
40738         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40739         Update.
40740         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
40741
40742 2006-10-05  Bruno Haible  <bruno@clisp.org>
40743
40744         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
40745
40746         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
40747         fwriteerror_temp): New declarations.
40748         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
40749         (descriptors): New variable.
40750         (cleanup): First, close the descriptors.
40751         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
40752         fclose_temp, fwriteerror_temp): New functions.
40753
40754 2006-10-04  Jim Meyering  <jim@meyering.net>
40755
40756         * lib/fts.c (fts_open): Tiny comment change.
40757
40758 2006-10-04  Bruno Haible  <bruno@clisp.org>
40759
40760         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
40761         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
40762         gl_LOCK_BODY.
40763         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
40764         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
40765         gl_LOCK_EARLY_BODY.
40766         (gl_LOCK): Require gl_LOCK_BODY.
40767
40768 2006-10-04  Bruno Haible  <bruno@clisp.org>
40769
40770         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
40771         (gl_oset_search_atleast): New declaration.
40772         (struct gl_oset_implementation): Add field 'search_atleast'.
40773         (gl_oset_search_atleast): New inline function.
40774         * lib/gl_oset.c (gl_oset_search_atleast): New function.
40775         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
40776         (gl_array_oset_implementation): Update.
40777         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
40778         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
40779         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
40780
40781 2006-10-04  Bruno Haible  <bruno@clisp.org>
40782
40783         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
40784
40785 2006-10-03  Bruno Haible  <bruno@clisp.org>
40786
40787         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
40788         from gl_avltreehash_list_implementation.
40789
40790 2006-10-03  Bruno Haible  <bruno@clisp.org>
40791
40792         * lib/gl_oset.c (gl_oset_add): Fix return type.
40793
40794 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
40795
40796         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
40797
40798 2006-10-02  Eric Blake  <ebb9@byu.net>
40799
40800         * modules/strnlen (Depends-on): Add extensions.
40801
40802 2006-10-02  Eric Blake  <ebb9@byu.net>
40803
40804         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
40805         definition in 2.60+.
40806
40807 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
40808
40809         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
40810         checks.
40811
40812 2006-10-02  Bruno Haible  <bruno@clisp.org>
40813
40814         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
40815         to the AUTOMAKE_OPTIONS.
40816         Reported by Jim Meyering.
40817
40818 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
40819
40820         Work around bug in Solaris 10 /proc file system:
40821         /proc/self/fd/NNN/.. isn't the parent directory of
40822         the directory whose file descriptor is NNN.  This needs to
40823         be worked around at run time, not compile time, since a
40824         program might be built on Solaris 8, where things work, and
40825         run on Solaris 10.
40826         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
40827         to use the following interface instead:
40828         (OPENAT_BUFFER_SIZE): New macro.
40829         (openat_proc_name): New function.
40830         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
40831         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
40832         Likewise.
40833         * lib/openat-proc.c: New file.
40834         * modules/openat (Files): Add lib/openat-proc.c.
40835         (Depends-on): Add same-inode, stdbool.
40836         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
40837
40838 2006-09-29  Bruno Haible  <bruno@clisp.org>
40839
40840         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
40841         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
40842         argument. Set stdout_closed before testing for ferror, not after.
40843         (fwriteerror, fwriteerror_no_ebadf): New functions.
40844
40845 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40846
40847         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
40848
40849 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
40850
40851         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
40852         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
40853
40854 2006-09-28  Jim Meyering  <jim@meyering.net>
40855
40856         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
40857         Include <unistd.h>.
40858
40859 2006-09-28  Bruno Haible  <bruno@clisp.org>
40860
40861         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
40862         * modules/linkedhash-list (Depends-on): Likewise.
40863         * modules/rbtreehash-list (Depends-on): Likewise.
40864
40865 2006-09-28  Bruno Haible  <bruno@clisp.org>
40866
40867         * lib/strndup.h: Simplify the redefinition of strndup.
40868         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
40869         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
40870
40871 2006-09-28  Bruno Haible  <bruno@clisp.org>
40872
40873         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
40874         * lib/gl_linkedhash_list.c: Likewise.
40875         * lib/gl_rbtreehash_list.c: Likewise.
40876
40877 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
40878
40879         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
40880         getaddrinfo.
40881
40882         * lib/__fpending.h: Don't include <stdio_ext.h> unless
40883         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
40884         it causes <stdio_ext.h> to cause a compile-time error.
40885         Problem reported by Nelson H. F. Beebe.
40886         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
40887         of HAVE_DECL___PENDING.
40888
40889         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
40890         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
40891         declaration.
40892
40893 2006-09-27  Jim Meyering  <jim@meyering.net>
40894
40895         This file could end up with a definition for a function
40896         named __strndup, rather than rpl_strndup on a system with
40897         incomplete weak_alias support.
40898         * lib/strndup.c (strndup): Rename from __strndup.
40899         Remove #defines that used to map __strndup to strndup.
40900         Don't use K&R prototypes.
40901         Remove LIBC-related code, since this file is not sync'd with glibc.
40902         * lib/strndup.h: Revamp, accordingly.
40903         * m4/strndup.m4: Modernize.
40904
40905 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40906
40907         * modules/savewd (Depends-on): Add 'raise'.
40908         * lib/savewd.c: Include <signal.h>, for 'raise'.
40909
40910 2006-09-26  Jim Meyering  <jim@meyering.net>
40911
40912         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
40913         when we detect Darwin 8.7.0's acl_get_file bug.
40914         Rearrange to perform the new (below) run-test while $LIBS
40915         contains any acl-related library.  Set USE_ACL at the end.
40916         (gl_ACL_GET_FILE): New function.
40917
40918 2006-09-26  Eric Blake  <ebb9@byu.net>
40919
40920         * lib/verror.c: Include <config.h> unconditionally.
40921
40922 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
40923
40924         * modules/clock-time (Maintainer): Add self.
40925         * modules/getlogin_r (Depends-on): Add extensions.
40926
40927 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40928
40929         * modules/clock-time: New module.
40930         * modules/nanosleep (Depends-on): Add clock-time.
40931         * modules/gethrxtime (Depends-on): Likewise.
40932         * modules/gettime (Depends-on): Likewise.
40933         * modules/settime (Depends-on): Likewise.
40934
40935         * modules/fts-lgpl: Depend on openat.
40936         * modules/mkancesdirs: Depend on savewd.
40937         * modules/mkdir-p: Likewise.
40938
40939 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40940
40941         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
40942
40943         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
40944         `gl_have_arbitrary_file_name_length_limit' to
40945         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
40946         actually works between configure runs.
40947
40948 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40949             Bruno Haible  <bruno@clisp.org>
40950
40951         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
40952
40953 2006-09-25  Jim Meyering  <jim@meyering.net>
40954
40955         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
40956         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
40957
40958 2006-09-25  Eric Blake  <ebb9@byu.net>
40959
40960         * gnulib-tool (func_import, func_create_testdir): Fix typos in
40961         exec's in 2006-09-18 patch when shuffling fds.
40962
40963 2006-09-25  Bruno Haible  <bruno@clisp.org>
40964
40965         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
40966         Reported by Jim Meyering.
40967
40968 2006-09-24  Jim Meyering  <jim@meyering.net>
40969
40970         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
40971         compare a pointer against a literal "0".  That caused failures with
40972         at least HP-UX's hpcc.
40973
40974 2006-09-22  Simon Josefsson  <jas@extundo.com>
40975
40976         * modules/gc-sha1:
40977         * modules/gc-md4:
40978         * modules/gc-hmac-sha1:
40979         * modules/gc-hmac-md5:
40980         * modules/gc-des:
40981         * modules/gc-arcfour: Distribute more files.
40982
40983 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40984
40985         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
40986         (gl_linked_iterator_from_to): Initialize struct completely.
40987         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
40988         (gl_tree_iterator_from_to): Likewise
40989         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
40990         * lib/gl_array_list.c [lint] (gl_array_iterator)
40991         (gl_array_iterator_from_to): Likewise.
40992         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
40993         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
40994         (gl_carray_iterator_from_to): Likewise.
40995
40996         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
40997         * lib/md4.c (md4_process_block): Remove unused variable.
40998         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
40999         parentheses for clarity.
41000
41001 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41002
41003         * modules/bison-i18n (Depends-on): Add gettext.
41004
41005 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41006
41007         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
41008         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41009         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
41010         also add missing comma that caused broken test.
41011         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
41012         stdlib.h, for `abort'.
41013         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
41014         variables.
41015         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
41016         include unistd.h if present, for `rmdir'.
41017         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
41018         variables.
41019         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
41020         in the process include standard headers for prototypes.
41021         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
41022         gets declared on GNU/Linux.
41023         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
41024         unistd.h, for `rmdir'.
41025         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
41026
41027         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
41028         always true.
41029         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
41030
41031         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
41032
41033 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41034
41035         * gnulib-tool (func_version): Create output all at once.  This
41036         may help avoid triggering unnecessary SIGPIPEs, and at any
41037         rate it doesn't hurt.
41038
41039 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41040             Bruno Haible  <bruno@clisp.org>
41041
41042         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
41043         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41044         * m4/signed.m4 (bh_C_SIGNED): Likewise.
41045
41046         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
41047         (gl_FUNC_VASPRINTF): Invoke it.
41048
41049 2006-09-22  Bruno Haible  <bruno@clisp.org>
41050
41051         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
41052         getloadavg.c as first argument.
41053
41054 2006-09-22  Bruno Haible  <bruno@clisp.org>
41055
41056         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
41057         at the beginning of the gl_INIT macro.
41058         * modules/getloadavg (configure.ac): Pass $gl_source_base to
41059         gl_GETLOADAVG.
41060
41061 2006-09-22  Bruno Haible  <bruno@clisp.org>
41062
41063         * gnulib-tool (func_create_megatestdir): Don't include the config-h
41064         module.
41065         Suggested by Ralf Wildenhues.
41066
41067 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
41068
41069         Import this patch from libc:
41070
41071         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
41072
41073         * lib/regex_internal.c (re_string_reconstruct): Handle
41074         offset < pstr->valid_raw_len && pstr->offsets_needed case.
41075         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
41076         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
41077         re_string_context_at.
41078
41079         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
41080         now requires it.
41081         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
41082         gl_REGEX now does it for us.
41083         (gl_REGEX): Add test taken from
41084         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
41085
41086         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
41087         Check that large offsets work.  Modernize Autoconf usages.
41088         Prefer "yes" to mean a good thing rather than a bad.
41089         Don't put "#define mkstemp" in config.h, as this might interfere
41090         with standard system headers that "#define mkstemp mkstemp64".
41091
41092         * modules/mkstemp (Depends-on): Add extensions, so that
41093         mkstemp is visible on some platforms.
41094         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
41095         (Include): Change to "mkstemp.h" from <stdlib.h>.
41096         (Files): Add mkstemp.h.
41097
41098         * lib/mkstemp.h: New file, since some standard headers
41099         #define mkstemp.
41100         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
41101         Include "mkstemp.h".
41102         Make the _LIBC code resemble glibc original more,
41103         e.g., use K&R style.
41104         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
41105         (mkstemp): Remove, since mkstemp.h does this for us.
41106         * lib/stdlib--.h: Include mkstemp.h.
41107
41108         Import this patch from libc:
41109
41110         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
41111
41112         * lib/tempname.c (__gen_tempname): Change attempts_min
41113         into a macro.  Use preprocessor to decide how to initialize
41114         attempts [Coverity CID 67].
41115
41116 2006-09-20  Bruno Haible  <bruno@clisp.org>
41117
41118         * lib/mkdtemp.c: Import from libc.
41119         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
41120                 * sysdeps/posix/tempname.c (__gen_tempname): Change
41121                 attempts_min into a macro.  Use preprocessor to decide how to
41122                 initialize attempts [Coverity CID 67].
41123         2001-11-27  Paul Eggert  <eggert@twinsun.com>
41124                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
41125                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
41126
41127 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41128
41129         * gnulib-tool (func_exit): New function, to allow to pass the
41130         exit status portably through the trap.  Use everywhere.
41131         (--help, --version): Signal a write error.
41132         (trap): catch SIGPIPE, for write errors.
41133         Exit at the end of the trap, with the correct exit status.
41134
41135 2006-09-19  Karl Berry  <karl@gnu.org>
41136
41137         * doc/gnulib.texi: note about the license texinfo files.
41138
41139 2006-09-19  Eric Blake  <ebb9@byu.net>
41140
41141         * gnulib-tool: Avoid space-tab.
41142
41143 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
41144
41145         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
41146         that prevented coreutils 6.1 from building.  Problem reported
41147         by Petter Reinholdtsen.
41148
41149 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
41150
41151         * gnulib-tool (avoidlist): Fix typo that broke options like
41152         --avoid=lock that are used by coreutils bootstrap.
41153
41154 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
41155
41156         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
41157         more systematically.
41158
41159 2006-09-18  Jim Meyering  <jim@meyering.net>
41160
41161         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
41162
41163 2006-09-18  Bruno Haible  <bruno@clisp.org>
41164
41165         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
41166
41167 2006-09-18  Bruno Haible  <bruno@clisp.org>
41168
41169         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
41170         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
41171         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
41172         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
41173         * m4/gettext.m4: Require autoconf >= 2.52.
41174         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
41175         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
41176         of gl_cv_header_inttypes_h.
41177
41178 2006-09-18  Bruno Haible  <bruno@clisp.org>
41179
41180         * lib/javaversion.c: Include configmake.h.
41181
41182 2006-09-18  Bruno Haible  <bruno@clisp.org>
41183
41184         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
41185         avoid that the while loops be executed in a subshell.
41186
41187 2006-09-18  Bruno Haible  <bruno@clisp.org>
41188
41189         * MODULES.html.sh (func_module): Break long lines.
41190         Suggested by Bruce Korb <bkorb@gnu.org>.
41191
41192 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41193
41194         Speed up by a factor of 1.12.
41195         * gnulib-tool (nl): New variable.
41196         (func_import): Rewrite include directive extraction to only read each
41197         directive once.
41198
41199 2006-09-17  Bruno Haible  <bruno@clisp.org>
41200
41201         * modules/javaversion (Makefile.am): Remove DEFS setting.
41202         (Depends-on): Add configmake, for PKGDATADIR definition.
41203
41204 2006-09-17  Bruno Haible  <bruno@clisp.org>
41205
41206         * gnulib-tool (func_create_testdir): Rewrite all files at once.
41207
41208 2006-09-17  Bruno Haible  <bruno@clisp.org>
41209
41210         * gnulib-tool (func_append): New function, stolen from libtool.m4.
41211         (func_modules_transitive_closure, func_modules_add_dummy,
41212         func_modules_to_filelist, func_import, func_create_testdir,
41213         func_create_megatestdir, ...): Use it wherever possible.
41214         Suggested by Ralf Wildenhues.
41215
41216 2006-09-16  Karl Berry  <karl@gnu.org>
41217
41218         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
41219         to avoid sectioning errors.
41220         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
41221         [ifinfo]: blank line after @center-ed titles.
41222         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
41223         Spell FSF address consistently with others.
41224         (These changes approved by rms.)
41225
41226 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41227
41228         Speed up by a factor of 1.61.
41229         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
41230         already checked module names again.
41231
41232 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41233
41234         Speed up by a factor of 1.13.
41235         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
41236         for new_files, and the input to func_add_or_update.
41237
41238 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41239
41240         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
41241         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
41242
41243 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41244
41245         * modules/mkancesdirs (Depends-on): Add fcntl.
41246         * modules/savewd: New file.
41247         * MODULES.html.sh (File system functions): Add savewd.
41248
41249         * modules/configmake (Makefile.am): Add support for the
41250         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
41251
41252 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41253
41254         * m4/savewd.m4: New file.
41255
41256 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41257
41258         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
41259         (dirchownmod): New arg FD.  All callers changed.
41260         Use FD rather than opening the directory ourself, as opening is
41261         now the caller's responsibility.
41262         * lib/dirchownmod.h: Likewise.
41263         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
41264         hosts that require <sys/types.h> before <sys/stat.h>.  Include
41265         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
41266         (test_dir): Remove.
41267         (mkancesdirs): Return length of prefix of FILE that has already
41268         been made, or -2 if there is a child doing the work.  Redo
41269         algorithm so that it is O(N) rather than O(N**2).  Optimize away
41270         ".", and treat ".." specially since it might stray back into
41271         already-created areas.  Use a subprocess if necessary.  New arg
41272         WD; all users changed.  MAKE_DIR function should now return 1
41273         if it creates a directory that is not readable.  Return -2 if
41274         a child process is spun off.
41275         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
41276         Adjust signature to match code.
41277         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
41278         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
41279         all users changed.
41280         * lib/savewd.c, lib/savewd.h: New files.
41281
41282 2006-09-15  Jim Meyering  <jim@meyering.net>
41283
41284         * modules/rename-dest-slash: New module.
41285         * MODULES.html.sh (posix_compat): Add it here.
41286
41287         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
41288
41289 2006-09-15  Jim Meyering  <jim@meyering.net>
41290
41291         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
41292         file.
41293
41294         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
41295
41296 2006-09-15  Jim Meyering  <jim@meyering.net>
41297
41298         * lib/rename-dest-slash.c (has_trailing_slash): Use
41299         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
41300         (rpl_rename_dest_slash): Perform the cheaper trailing slash
41301         test before testing whether SRC is a directory.
41302         Suggestions from Bruno Haible.
41303
41304         Avoid a warning about an unused variable.
41305         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
41306         into the #ifdef block where it's used.
41307
41308         * lib/rename-dest-slash.c: New file.
41309
41310 2006-09-14  Bruno Haible  <bruno@clisp.org>
41311
41312         * lib/allocsa.c: Include <config.h> unconditionally.
41313         * lib/asnprintf.c: Likewise.
41314         * lib/asprintf.c: Likewise.
41315         * lib/c-strcasecmp.c: Likewise.
41316         * lib/c-strcasestr.c: Likewise.
41317         * lib/c-strncasecmp.c: Likewise.
41318         * lib/c-strstr.c: Likewise.
41319         * lib/classpath.c: Likewise.
41320         * lib/clean-temp.c: Likewise.
41321         * lib/concatpath.c: Likewise.
41322         * lib/copy-file.c: Likewise.
41323         * lib/csharpcomp.c: Likewise.
41324         * lib/csharpexec.c: Likewise.
41325         * lib/execute.c: Likewise.
41326         * lib/fatal-signal.c: Likewise.
41327         * lib/findprog.c: Likewise.
41328         * lib/fwriteerror.c: Likewise.
41329         * lib/gl_array_list.c: Likewise.
41330         * lib/gl_array_oset.c: Likewise.
41331         * lib/gl_avltree_list.c: Likewise.
41332         * lib/gl_avltree_oset.c: Likewise.
41333         * lib/gl_avltreehash_list.c: Likewise.
41334         * lib/gl_carray_list.c: Likewise.
41335         * lib/gl_linked_list.c: Likewise.
41336         * lib/gl_linkedhash_list.c: Likewise.
41337         * lib/gl_list.c: Likewise.
41338         * lib/gl_oset.c: Likewise.
41339         * lib/gl_rbtree_list.c: Likewise.
41340         * lib/gl_rbtree_oset.c: Likewise.
41341         * lib/gl_rbtreehash_list.c: Likewise.
41342         * lib/imaxabs.c: Likewise.
41343         * lib/imaxdiv.c: Likewise.
41344         * lib/javacomp.c: Likewise.
41345         * lib/javaexec.c: Likewise.
41346         * lib/javaversion.c: Likewise.
41347         * lib/linebreak.c: Likewise.
41348         * lib/localcharset.c: Likewise.
41349         * lib/lock.c: Likewise.
41350         * lib/mbchar.c: Likewise.
41351         * lib/mbswidth.c: Likewise.
41352         * lib/mkdtemp.c: Likewise.
41353         * lib/pipe.c: Likewise.
41354         * lib/printf-args.c: Likewise.
41355         * lib/printf-parse.c: Likewise.
41356         * lib/progname.c: Likewise.
41357         * lib/progreloc.c: Likewise.
41358         * lib/readlink.c: Likewise.
41359         * lib/sh-quote.c: Likewise.
41360         * lib/stpcpy.c: Likewise.
41361         * lib/stpncpy.c: Likewise.
41362         * lib/strcasecmp.c: Likewise.
41363         * lib/strcasestr.c: Likewise.
41364         * lib/strcspn.c: Likewise.
41365         * lib/striconv.c: Likewise.
41366         * lib/strncasecmp.c: Likewise.
41367         * lib/strnlen1.c: Likewise.
41368         * lib/strstr.c: Likewise.
41369         * lib/strtok_r.c: Likewise.
41370         * lib/tls.c: Likewise.
41371         * lib/tmpdir.c: Likewise.
41372         * lib/unicodeio.c: Likewise.
41373         * lib/unsetenv.c: Likewise.
41374         * lib/vasnprintf.c: Likewise.
41375         * lib/vasprintf.c: Likewise.
41376         * lib/wait-process.c: Likewise.
41377         * lib/xallocsa.c: Likewise.
41378         * lib/xsetenv.c: Likewise.
41379         * lib/xstriconv.c: Likewise.
41380
41381 2006-09-13  Simon Josefsson  <jas@extundo.com>
41382
41383         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
41384         that internally, suggested by Ralf Wildenhues
41385         <Ralf.Wildenhues@gmx.de>.
41386
41387 2006-09-13  Simon Josefsson  <jas@extundo.com>
41388
41389         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
41390         @LIBOBJS@.
41391         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41392
41393 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
41394
41395         * lib/_fpending.c: Include <config.h> unconditionally, since we no
41396         longer worry about uses that don't define HAVE_CONFIG_H.
41397         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
41398         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
41399         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
41400         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
41401         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
41402         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
41403         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
41404         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
41405         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
41406         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
41407         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
41408         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
41409         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
41410         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
41411         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
41412         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
41413         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
41414         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
41415         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
41416         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
41417         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
41418         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
41419         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
41420         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
41421         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
41422         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
41423         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
41424         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
41425         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
41426         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
41427         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
41428         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
41429         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
41430         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
41431         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
41432         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
41433         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
41434         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
41435         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
41436         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
41437         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
41438         Likewise.
41439
41440 2006-09-13  Eric Blake  <ebb9@byu.net>
41441
41442         * lib/getopt.c: Fix typo in last commit.
41443
41444 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41445
41446         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
41447         dgettext.
41448
41449 2006-09-12  Jim Meyering  <jim@meyering.net>
41450
41451         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
41452         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
41453         Reported by Nelson H. F. Beebe.
41454
41455 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
41456
41457         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
41458         program_invocation_name and program_invocation_short_name are
41459         initialized.
41460         * lib/argp-namefrob.h: Move declarations of program_invocation_name
41461         and program_invocation_short_name to argp.h, so they are visible
41462         to user programs.
41463         * lib/argp.h: Likewise
41464
41465 2006-09-10  Bruno Haible  <bruno@clisp.org>
41466
41467         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
41468         m4/inttypes_h.m4, m4/uintmax_t.m4.
41469
41470 2006-09-10  Bruno Haible  <bruno@clisp.org>
41471
41472         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
41473         gl_AC_TYPE_UINTMAX_T.
41474
41475 2006-09-10  Bruno Haible  <bruno@clisp.org>
41476
41477         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
41478
41479 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41480
41481         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
41482         convention.  Text proposed by Bruno Haible.
41483         (struct argp_option): Document the use of N_() wrappers.
41484
41485         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
41486         '\v', and translate the two parts separately, instead of feeding
41487         the whole string to gettext.  This allows to exclude
41488         '\v' from the strings visible to the translator by writing doc
41489         strings as N_("..") "\v" N_("..").
41490
41491 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
41492
41493         * config/srclist.txt: Undo latest change; the bug was fixed.
41494
41495 2006-09-09  Bruno Haible  <bruno@clisp.org>
41496
41497         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
41498         assignments if building a library without libtool.
41499         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
41500         in func_emit_lib_Makefile_am.
41501         (func_import): When building a static library libfoo.a, arrange to
41502         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
41503         (func_create_testdir): Likewise.
41504         * modules/gc (configure.ac, Makefile.am): If building statically,
41505         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
41506         * modules/iconvme (configure.ac, Makefile.am): Likewise.
41507         * modules/striconv (configure.ac, Makefile.am): Likewise.
41508         Based on a suggestion by Ralf Wildenhues.
41509
41510 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41511
41512         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41513         Check for unistd.h too, since Autoconf doesn't assume POSIX.
41514         Also:
41515
41516         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41517         Add year_2050_test to catch glibc bug 2821
41518         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41519
41520         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41521         Prefer #ifdef to #if.
41522
41523         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
41524         Return from 'main' instead of calling 'exit'.
41525
41526 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41527
41528         * lib/mktime.c (guess_time_tm): Fix bug where mktime
41529         returned the maximum time_t value rather than (time_t) -1.
41530         Problem originally reported by William Bardwell
41531         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41532
41533         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41534         Moved to here ...
41535         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41536         ... from here.
41537
41538 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41539
41540         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
41541         2821 is fixed.
41542
41543 2006-09-08  Jim Meyering  <jim@meyering.net>
41544
41545         Don't make generated files read-only.  That would bother too many
41546         people.  However, do retain the ability to work when targets are
41547         read-only: remove the destination and temporary files before writing
41548         them (when generated via sed or echo), or by using the -f option for
41549         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
41550         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41551         * modules/byteswap, modules/configmake, modules/fcntl:
41552         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41553         * modules/localcharset, modules/netinet_in, modules/poll:
41554         * modules/stdbool, modules/stdint, modules/sys_select:
41555         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41556
41557 2006-09-08  Jim Meyering  <jim@meyering.net>
41558
41559         Avoid new build failure on FreeBSD 6.0.
41560         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
41561         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
41562         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
41563
41564 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41565
41566         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
41567
41568 2006-09-07  Jim Meyering  <jim@meyering.net>
41569
41570         Fix global typo in last change: use chmod u-w, not chmod u-x.
41571         Spotted by Paul Eggert and Bruce Korb.
41572         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41573         * modules/byteswap, modules/configmake, modules/fcntl:
41574         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41575         * modules/localcharset, modules/netinet_in, modules/poll:
41576         * modules/stdbool, modules/stdint, modules/sys_select:
41577         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41578
41579 2006-09-06  Jim Meyering  <jim@meyering.net>
41580
41581         Make generated files be read-only.
41582         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
41583         Ensure that each generated file is now read-only.
41584         * modules/argz: Likewise.
41585         * modules/arpa_inet: Likewise.
41586         * modules/byteswap: Likewise.
41587         * modules/configmake: Likewise.
41588         * modules/fcntl: Likewise.
41589         * modules/fnmatch: Likewise.
41590         * modules/getopt: Likewise.
41591         * modules/glob: Likewise.
41592         * modules/inttypes: Likewise.
41593         * modules/netinet_in: Likewise.
41594         * modules/poll: Likewise.
41595         * modules/stdbool: Likewise.
41596         * modules/stdint: Likewise.
41597         * modules/sys_select: Likewise.
41598         * modules/sys_socket: Likewise.
41599         * modules/sys_stat: Likewise.
41600         * modules/sysexits: Likewise.
41601         * modules/localcharset: Same as above, but continue using temporary
41602         file named "t-$@" (why different?) rather than the "$@-t" used
41603         everywhere else.
41604
41605         * modules/sysexits (Makefile.am): Replace literal occurrences
41606         of "sysexit.h" more readable, and more consistent, "$@".
41607
41608 2006-09-06  Bruno Haible  <bruno@clisp.org>
41609
41610         * modules/striconv: New file.
41611         * modules/xstriconv: New file.
41612         * MODULES.html.sh (Internationalization functions): Add striconv,
41613         xstriconv.
41614
41615 2006-09-06  Bruno Haible  <bruno@clisp.org>
41616
41617         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
41618         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
41619         not using libtool correctly.
41620
41621 2006-09-06  Bruno Haible  <bruno@clisp.org>
41622
41623         * lib/striconv.h: New file.
41624         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
41625         iconvstring.c.
41626         * lib/xstriconv.h: New file.
41627         * lib/xstriconv.c: New file.
41628
41629 2006-09-06  Bruno Haible  <bruno@clisp.org>
41630
41631         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41632         lib_..._LDFLAGS.
41633
41634 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41635
41636         * lib/argz_.h: Sync from Libtool.
41637
41638         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
41639                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
41640
41641         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
41642
41643 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
41644
41645         * modules/trim: New file.
41646
41647 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
41648
41649         * lib/trim.h: New file.
41650         * lib/trim.c: New file.
41651
41652 2006-09-05  Bruno Haible  <bruno@clisp.org>
41653
41654         * MODULES.html.sh (String handling): Add trim.
41655
41656 2006-09-04  Karl Berry  <karl@gnu.org>
41657
41658         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
41659         until next release.
41660
41661 2006-09-03  Bruno Haible  <bruno@clisp.org>
41662
41663         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
41664         correctly.
41665
41666 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41667
41668         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
41669         not gl_GETLOADAVG.  Omit unneeded semicolons.
41670         Problems reported by Ralf Wildenhues in
41671         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
41672         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
41673         at the end, which is the usual gnulib style.
41674
41675         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
41676         of doing all the work ourselves.
41677         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
41678         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
41679
41680 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41681
41682         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
41683         Problem reported by Ralf Wildenhues in
41684         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
41685
41686         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
41687         HAVE_STRUCT_STATFS_F_FSTYPENAME.
41688
41689 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41690
41691         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
41692         yesterday's patch by changing test -n to test -z.
41693
41694 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41695
41696         * modules/getloadavg (Files): Add m4/getloadavg.m4.
41697         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
41698         the former is now obsolescent.
41699
41700         * modules/chdir-long (Depends-on): Add fcntl.
41701
41702 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41703
41704         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
41705         obsolescent, and programs should use gnulib instead.
41706         * m4/getloadavg.m4: New file, with contents taken from Autoconf
41707         but with prefixes changed.
41708
41709 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41710
41711         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
41712         or stdbool.h, because they might not exist while configuring.
41713
41714         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
41715         Don't include unistd.h or limits.h; not needed, since chdir-long.h
41716         does that for us.
41717         (O_DIRECTORY): Remove.
41718
41719 2006-08-31  Eric Blake  <ebb9@byu.net>
41720
41721         * gnulib-tool: Don't let emacs change spaces to TAB.
41722
41723 2006-08-31  Bruno Haible  <bruno@clisp.org>
41724
41725         * gnulib-tool: When calling func_import more than once, do it in a
41726         subshell.
41727         Reported by Eric Blake <ebb9@byu.net>.
41728
41729 2006-08-31  Bruno Haible  <bruno@clisp.org>
41730
41731         * gnulib-tool (nl): Remove variable.
41732         (sed_transform_lib_file): Use more robust test for config-h module.
41733         (func_import): Fix typo in 2006-08-25 patch.
41734
41735 2006-08-31  Bruno Haible  <bruno@clisp.org>
41736
41737         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
41738         specified, augment Makefile.am variables instead of assigning them.
41739
41740 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41741
41742         Work around a bug in both the Linux and SunOS 64-bit kernels:
41743         nanosleep mishandles sleeps for longer than 2**31 seconds.
41744         Problem reported by Frank v Waveren in
41745         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
41746         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
41747         Check for nanosleep bug.
41748         (LIB_NANOSLEEP): Append clock_gettime library if needed.
41749
41750 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41751
41752         Work around a bug in both the Linux and SunOS 64-bit kernels:
41753         nanosleep mishandles sleeps for longer than 2**31 seconds.
41754         Problem reported by Frank v Waveren in
41755         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
41756         * lib/nanosleep.c (BILLION): New constant.
41757         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
41758         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
41759         implementation.
41760
41761 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41762
41763         * modules/nanosleep (Depends-on): Add gettime.
41764
41765 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41766         and Simon Josefsson  <jas@extundo.com>
41767         and Oskar Liljeblad  <oskar@osk.mine.nu>
41768
41769         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
41770         * gnulib-tool (func_import): New license type 'unmodifiable license
41771         text'.
41772         * modules/fdl: Use it.  Longer description.
41773         * module/gpl, module/lgpl: New files.
41774
41775 2006-08-30  Jim Meyering  <jim@meyering.net>
41776
41777         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
41778         shadowing the parameter.
41779
41780 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41781
41782         Sync from Libtool:
41783
41784         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41785
41786         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
41787         sharing with gnulib.  Report by Eric Blake.
41788
41789 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41790
41791         * modules/isapipe: New file.
41792         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
41793
41794 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41795
41796         * modules/configmake (Makefile.am): Add a comment, and omit
41797         the CONFIGMAKE_ prefix from generated macro names.  Suggested
41798         by Bruno Haible.
41799
41800 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41801
41802         * m4/isapipe.m4: New file.
41803
41804 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41805
41806         * lib/isapipe.c, lib/isapipe.h: New files.
41807
41808 2006-08-29  Jim Meyering  <jim@meyering.net>
41809
41810         * modules/configmake (Makefile.am): Make configmake.h depend on
41811         Makefile.  Otherwise, a stale configmake.h could hang around.
41812
41813 2006-08-29  Eric Blake  <ebb9@byu.net>
41814
41815         * lib/error.c (error_at_line, print_errno_message): Match libc, after
41816         resolution of upstream bug 3044.
41817
41818 2006-08-29  Bruno Haible  <bruno@clisp.org>
41819
41820         * modules/localcharset (Depends-on): Add configmake.
41821         (Makefile.am): Remove setting of LIBDIR through DEFS.
41822
41823 2006-08-29  Bruno Haible  <bruno@clisp.org>
41824
41825         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
41826         defined.
41827
41828 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41829
41830         * modules/fcntl: New file.
41831         * modules/chdir-safer (Depends-on): Add fcntl.
41832         * modules/fts: Likewise.
41833         * modules/mkdir-p: Likewise.
41834
41835         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
41836         This undoes the most recent change, since we're now addressing the
41837         problem in a different way.
41838
41839         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
41840         into output, since the output might be called Makefile.am even
41841         if $makefile_name is something different.
41842         (func_import): Use $makefile_am rather than
41843         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
41844         empty.
41845
41846         * modules/inttypes (Files): Add m4/inttypes-h.m4.
41847
41848 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41849
41850         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
41851         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
41852         recent change to stdint.m4, since we're now addressing the problem in a
41853         different way.
41854
41855 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41856
41857         * m4/fcntl_h.m4: New file.
41858
41859 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41860
41861         * lib/fcntl_.h: New file.
41862         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
41863         the fcntl module.
41864         * lib/dirchownmod.c: Likewise.
41865         * lib/fts.c: Likewise.
41866
41867         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
41868         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
41869         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
41870         just before including <inttypes.h>, to avoid circular inclusion.
41871
41872 2006-08-28  Jim Meyering  <jim@meyering.net>
41873
41874         * doc/visibility.texi: Actually read and correct the grammar of the
41875         sentence affected by yesterday's change.
41876
41877 2006-08-28  Eric Blake  <ebb9@byu.net>
41878
41879         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
41880         needs wrapper.
41881
41882 2006-08-28  Eric Blake  <ebb9@byu.net>
41883
41884         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
41885
41886 2006-08-28  Eric Blake  <ebb9@byu.net>
41887
41888         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
41889
41890 2006-08-28  Bruno Haible  <bruno@clisp.org>
41891
41892         * modules/c-strstr: New file, from GNU gettext.
41893         * MODULES.html.sh (String handling): Add c-strstr.
41894
41895 2006-08-28  Bruno Haible  <bruno@clisp.org>
41896
41897         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
41898         macros.
41899         Reported by Eric Blake.
41900
41901 2006-08-28  Bruno Haible  <bruno@clisp.org>
41902
41903         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
41904         (VASNPRINTF): Return a string of length > INT_MAX without failing.
41905         * lib/vasprintf.c: Include errno.h, limits.h.
41906         (EOVERFLOW): New fallback definition.
41907         (vasprintf): Test here whether the string length is > INT_MAX.
41908         * lib/vsnprintf.c: Include errno.h, limits.h.
41909         (EOVERFLOW): New fallback definition.
41910         (vsnprintf): Fix bug when generated string was too long for the buffer.
41911         Test here whether the string length is > INT_MAX.
41912
41913 2006-08-28  Bruno Haible  <bruno@clisp.org>
41914
41915         * lib/inttypes_.h (SCNX*): Remove definitions.
41916         Reported by Eric Blake.
41917
41918 2006-08-28  Bruno Haible  <bruno@clisp.org>
41919
41920         * lib/c-strstr.h: New file, from GNU gettext.
41921         * lib/c-strstr.c: New file, from GNU gettext.
41922
41923 2006-08-28  Bruno Haible  <bruno@clisp.org>
41924
41925         * gnulib-tool: Reorder some statements.
41926
41927 2006-08-28  Bruno Haible  <bruno@clisp.org>
41928
41929         * gnulib-tool: New option --makefile-name.
41930         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
41931         $makefile_name.
41932         (func_import): Write $makefile_name to the cache file, and read it from
41933         there unless explicitly specified. Use $makefile_name as file name
41934         instead of Makefile.am. Adjust the recommendations accordingly.
41935
41936 2006-08-28  Bruno Haible  <bruno@clisp.org>
41937
41938         * gnulib-tool (func_verify_module): Check against misapplying patch.
41939
41940 2006-08-28  Bruno Haible  <bruno@clisp.org>
41941
41942         * gnulib-tool (func_relativize, func_relconcat): New functions.
41943         Give an error if --local-dir is given with --update.
41944         Remove trailing slashes from $local_gnulib_dir.
41945         (func_import): Store the relativized $local_gnulib_dir in
41946         gnulib-cache.m4, and read it from there if not specified explicitly.
41947
41948 2006-08-28  Bruno Haible  <bruno@clisp.org>
41949
41950         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
41951         is the current directory. Respect also $local_gnulib_dir.
41952
41953 2006-08-28  Bruno Haible  <bruno@clisp.org>
41954             Simon Josefsson  <jas@extundo.com>
41955
41956         BeOS portability.
41957         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
41958
41959 2006-08-27  Jim Meyering  <jim@meyering.net>
41960
41961         * doc/visibility.texi: Remove duplicate word: "pointer".
41962
41963 2006-08-26  Bruno Haible  <bruno@clisp.org>
41964
41965         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
41966         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
41967         (Makefile.am): Create inttypes.h from inttypes_.h.
41968         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
41969
41970         * modules/imaxabs: New file.
41971
41972         * modules/imaxdiv: New file.
41973
41974 2006-08-26  Bruno Haible  <bruno@clisp.org>
41975
41976         * m4/inttypes.m4: New file.
41977         * m4/_inttypes_h.m4: Remove file.
41978         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
41979         PRI_MACROS_BROKEN.
41980         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
41981
41982         * m4/imaxabs.m4: New file.
41983
41984         * m4/imaxdiv.m4: New file.
41985
41986 2006-08-26  Bruno Haible  <bruno@clisp.org>
41987
41988         * lib/inttypes_.h: New file.
41989         * lib/inttypes.h: Remove file.
41990         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
41991
41992         * lib/imaxabs.c: New file.
41993
41994         * lib/imaxdiv.c: New file.
41995
41996 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
41997
41998         New config-h module, so that "make" output needn't be cluttered
41999         by -DHAVE_CONFIG_H.
42000         * MODULES.html.sh (Support for building libraries and executables):
42001         Add config-h.
42002         * modules/config-h: New file.
42003         * gnulib-tool (nl, sed_transform_lib_file): New vars.
42004         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
42005         the config-h module is used.
42006
42007         New configmake module, so that "make" output needn't be cluttered
42008         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
42009         * MODULES.html.sh (Support for building libraries and executables):
42010         Add configmake.
42011         * modules/configmake: New file.
42012
42013 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42014
42015         * m4/config-h.m4: New file.
42016
42017 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42018
42019         * config/srclist.txt: Add elisp-comp.
42020
42021 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42022
42023         * MODULES.html.sh (Support for building libraries and executables):
42024         Add elisp-comp.
42025         * build-aux/elisp-comp: New file.
42026         * modules/elisp-comp: New file.
42027
42028 2006-08-24  Bruno Haible  <bruno@clisp.org>
42029
42030         * gnulib-tool (func_create_testdir): Use non-default values of
42031         sourcebase and m4base.
42032
42033 2006-08-24  Bruno Haible  <bruno@clisp.org>
42034
42035         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
42036         HTML structure.
42037
42038 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
42039
42040         * modules/openat (Depends-on): Add lchown.
42041
42042 2006-08-23  Bruno Haible  <bruno@clisp.org>
42043
42044         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
42045         of gl_LOCK_EARLY instead of gl_LOCK.
42046
42047 2006-08-23  Bruno Haible  <bruno@clisp.org>
42048
42049         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
42050         on OSF/1 to no.
42051         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
42052
42053 2006-08-23  Bruno Haible  <bruno@clisp.org>
42054
42055         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
42056         as unusable.
42057
42058         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
42059         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
42060         (gl_LOCK): New macro.
42061
42062 2006-08-22  Simon Josefsson  <jas@extundo.com>
42063
42064         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
42065         to md5 module.
42066
42067 2006-08-22  Simon Josefsson  <jas@extundo.com>
42068
42069         * MODULES.html.sh: Add "Support for maintaining and release
42070         projects".
42071
42072         * build-aux/gnupload: New file, from coreutils.
42073
42074 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42075
42076         Avoid the need for AC_LIBSOURCES in m4 macros.
42077         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
42078         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
42079         * modules/check-version (EXTRA_DIST): Add check-version.h.
42080         * modules/crc (EXTRA_DIST): Add crc.h.
42081         * modules/des (EXTRA_DIST): Add des.h.
42082         * modules/gc (EXTRA_DIST): Add gc.h.
42083         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
42084         * modules/getline (EXTRA_DIST): Add getline.h.
42085         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
42086         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
42087         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
42088         * modules/md2 (EXTRA_DIST): Add md2.h.
42089         * modules/md4 (EXTRA_DIST): Add md4.h.
42090         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
42091         * modules/read-file (EXTRA_DIST): Add read-file.h.
42092         * modules/readline (EXTRA_DIST): Add readline.h.
42093         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
42094         rijndael-api-fst.h.
42095
42096 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42097
42098         * m4/rijndael.m4 (gl_ARCFOUR):
42099         * m4/arctwo.m4 (gl_ARCTWO):
42100         * m4/check-version.m4 (gl_CHECK_VERSION):
42101         * m4/crc.m4 (gl_CRC):
42102         * m4/des.m4 (gl_DES):
42103         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
42104         * m4/gc.m4 (gl_GC):
42105         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
42106         * m4/getline.m4 (gl_FUNC_GETLINE):
42107         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
42108         * m4/hmac-md5.m4 (gl_HMAC_MD5):
42109         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
42110         * m4/md2.m4 (gl_MD2):
42111         * m4/md4.m4 (gl_MD4):
42112         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
42113         * m4/read-file.m4 (gl_FUNC_READ_FILE):
42114         * m4/readline.m4 (gl_FUNC_READLINE):
42115         * m4/rijndael.m4 (gl_RIJNDAEL):
42116         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
42117         to get the necessary .h files and whatnot.
42118
42119 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42120
42121         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
42122         gnulib rather than the other way around.
42123         * config/srclistvars.sh (COREUTILS): Remove.
42124
42125 2006-08-22  Jim Meyering  <jim@meyering.net>
42126
42127         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
42128
42129         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
42130
42131 2006-08-22  Eric Blake  <ebb9@byu.net>
42132
42133         * modules/regexprops-generic: New file.
42134         * MODULES.html.sh (Support for building documentation): List it.
42135
42136 2006-08-22  Eric Blake  <ebb9@byu.net>
42137
42138         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
42139         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42140         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
42141         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
42142
42143 2006-08-22  Bruno Haible  <bruno@clisp.org>
42144
42145         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
42146         and lib_LTLIBRARIES like the other lib_* variables.
42147
42148 2006-08-22  Bruno Haible  <bruno@clisp.org>
42149
42150         * build-aux/x-to-1.in: New file, from GNU gettext.
42151
42152 2006-08-22  Bruno Haible  <bruno@clisp.org>
42153
42154         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
42155         <utmpx.h> exists.
42156
42157 2006-08-22  Bruno Haible  <bruno@clisp.org>
42158
42159         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
42160         <utmpx.h> exists.
42161
42162 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42163
42164         BeOS portability.
42165         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
42166         exist.
42167         Problem reported by Bruno Haible.
42168
42169 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42170
42171         Avoid the need for AC_LIBSOURCES in m4 macros.
42172         * modules/acl (EXTRA_DIST): Add acl.h.
42173         * modules/argmatch (Files): Add m4/argmatch.m4.
42174         (configure.ac): Add gl_ARGMATCH.
42175         (EXTRA_DIST): Renamed from lib_SOURCES, for
42176         consistency with the other modules.  Remove argmatch.c.
42177         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
42178         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
42179         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
42180         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
42181         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
42182         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
42183         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
42184         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
42185         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
42186         * modules/closeout (EXTRA_DIST): Add closeout.h.
42187         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
42188         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
42189         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
42190         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
42191         dirname.h; remove basename.c and stripslash.c.
42192         * modules/exclude (EXTRA_DIST): Add exclude.h.
42193         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
42194         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
42195         * modules/file-type (EXTRA_DIST): Add file-type.h.
42196         * modules/filemode (EXTRA_DIST): Add filemode.h.
42197         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
42198         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
42199         * modules/fpending (EXTRA_DIST): Add __fpending.h.
42200         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
42201         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
42202         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
42203         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
42204         * modules/getdate (EXTRA_DIST): Add getdate.c.
42205         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
42206         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
42207         * modules/getpass (EXTRA_DIST): Add getpass.h.
42208         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
42209         * modules/group-member (EXTRA_DIST): Add group-member.h.
42210         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
42211         * modules/hash (EXTRA_DIST): Add hash.h.
42212         * modules/human (EXTRA_DIST): Add human.h.
42213         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
42214         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
42215         * modules/lchown (EXTRA_DIST): Add lchown.h.
42216         * modules/long-options (EXTRA_DIST): Add long-options.h.
42217         * modules/lstat (EXTRA_DIST): Add lstat.h.
42218         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
42219         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
42220         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
42221         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
42222         * modules/memxor (EXTRA_DIST): Add memxor.h.
42223         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
42224         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
42225         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
42226         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
42227         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
42228         * modules/physmem (EXTRA_DIST): Add physmem.h.
42229         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
42230         * modules/posixver (EXTRA_DIST): Add posixver.h.
42231         * modules/quote (EXTRA_DIST): Add quote.h.
42232         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
42233         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
42234         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
42235         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
42236         regex_internal.h regexec.c.
42237         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
42238         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
42239         * modules/same (EXTRA_DIST): Add same.h.
42240         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
42241         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
42242         * modules/savedir (EXTRA_DIST): Add savedir.h.
42243         * modules/sha1 (EXTRA_DIST): Add sha1.h.
42244         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
42245         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
42246         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
42247         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
42248         * modules/strdup (EXTRA_DIST): Add strdup.h.
42249         * modules/strftime (EXTRA_DIST): Add strftime.h.
42250         * modules/strndup (EXTRA_DIST): Add strndup.h.
42251         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
42252         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
42253         * modules/time_r (EXTRA_DIST): Add time_r.h.
42254         * modules/timespec (EXTRA_DIST): Add timespec.h.
42255         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
42256         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
42257         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
42258         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
42259         * modules/userspec (EXTRA_DIST): Add userspec.h.
42260         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
42261         * modules/utimens (EXTRA_DIST): Add utimens.h.
42262         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
42263         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
42264         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
42265         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
42266         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
42267         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
42268         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
42269         * modules/yesno (EXTRA_DIST): Add yesno.h.
42270
42271 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42272
42273         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
42274
42275         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
42276         * m4/dev-ino.m4, same-inode.m4: Remove.
42277
42278         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
42279         * m4/acl.m4 (AC_FUNC_ACL):
42280         * m4/backupfile.m4 (gl_BACKUPFILE):
42281         * m4/c-strtod.m4 (gl_C99_STRTOLD):
42282         * m4/canon-host.m4 (gl_CANON_HOST):
42283         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42284         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
42285         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
42286         * m4/cloexec.m4 (gl_CLOEXEC):
42287         * m4/close-stream.m4 (gl_CLOSE_STREAM):
42288         * m4/closeout.m4 (gl_CLOSEOUT):
42289         * m4/dirfd.m4 (gl_FUNC_DIRFD):
42290         * m4/dirname.m4 (gl_DIRNAME):
42291         * m4/exclude.m4 (gl_EXCLUDE):
42292         * m4/exitfail.m4 (gl_EXITFAIL):
42293         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
42294         * m4/file-type.m4 (gl_FILE_TYPE):
42295         * m4/filemode.m4 (gl_FILEMODE):
42296         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
42297         * m4/fpending.m4 (gl_FUNC_FPENDING):
42298         * m4/fprintftime.m4 (gl_FPRINTFTIME):
42299         * m4/fts.m4 (gl_FUNC_FTS):
42300         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
42301         * m4/getdate.m4 (gl_GETDATE):
42302         * m4/gethrxtime.m4 (gl_GETHRXTIME):
42303         * m4/getpagesize.m4 (gl_GETPAGESIZE):
42304         * m4/getpass.m4 (gl_FUNC_GETPASS):
42305         * m4/gettime.m4 (gl_GETTIME):
42306         * m4/getugroups.m4 (gl_GETUGROUPS):
42307         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
42308         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
42309         * m4/hard-locale.m4 (gl_HARD_LOCALE):
42310         * m4/hash.m4 (gl_HASH):
42311         * m4/idcache.m4 (gl_IDCACHE):
42312         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
42313         * m4/lchown.m4 (gl_FUNC_LCHOWN):
42314         * m4/long-options.m4 (gl_LONG_OPTIONS):
42315         * m4/lstat.m4 (gl_FUNC_LSTAT):
42316         * m4/md5.m4 (gl_MD5):
42317         * m4/memcasecmp.m4 (gl_MEMCASECMP):
42318         * m4/memcoll.m4 (gl_MEMCOLL):
42319         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
42320         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
42321         * m4/memxor.m4 (gl_MEMXOR):
42322         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
42323         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
42324         * m4/modechange.m4 (gl_MODECHANGE):
42325         * m4/mountlist.m4 (gl_MOUNTLIST):
42326         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
42327         * m4/openat.m4 (gl_FUNC_OPENAT):
42328         * m4/pathmax.m4 (gl_PATHMAX):
42329         * m4/physmem.m4 (gl_PHYSMEM):
42330         * m4/posixtm.m4 (gl_POSIXTM):
42331         * m4/posixver.m4 (gl_POSIXVER):
42332         * m4/quote.m4 (gl_QUOTE):
42333         * m4/quotearg.m4 (gl_QUOTEARG):
42334         * m4/readtokens.m4 (gl_READTOKENS):
42335         * m4/readutmp.m4 (gl_READUTMP):
42336         * m4/regex.m4 (gl_REGEX):
42337         * m4/safe-read.m4 (gl_SAFE_READ):
42338         * m4/safe-write.m4 (gl_SAFE_WRITE):
42339         * m4/same.m4 (gl_SAME):
42340         * m4/save-cwd.m4 (gl_SAVE_CWD):
42341         * m4/savedir.m4 (gl_SAVEDIR):
42342         * m4/settime.m4 (gl_SETTIME):
42343         * m4/sha1.m4 (gl_SHA1):
42344         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
42345         * m4/stat-macros.m4 (gl_STAT_MACROS):
42346         * m4/stat-time.m4 (gl_STAT_TIME):
42347         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
42348         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
42349         * m4/strdup.m4 (gl_FUNC_STRDUP):
42350         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
42351         * m4/strndup.m4 (gl_FUNC_STRNDUP):
42352         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
42353         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
42354         * m4/time_r.m4 (gl_TIME_R):
42355         * m4/timespec.m4 (gl_TIMESPEC):
42356         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
42357         * m4/unlinkdir.m4 (gl_UNLINKDIR):
42358         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
42359         * m4/userspec.m4 (gl_USERSPEC):
42360         * m4/utimecmp.m4 (gl_UTIMECMP):
42361         * m4/utimens.m4 (gl_UTIMENS):
42362         * m4/xalloc.m4 (gl_XALLOC):
42363         * m4/xgetcwd.m4 (gl_XGETCWD):
42364         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
42365         * m4/xreadlink.m4 (gl_XREADLINK):
42366         * m4/xstrtod.m4 (gl_XSTRTOD):
42367         * m4/yesno.m4 (gl_YESNO):
42368         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
42369         to get the necessary .h files and whatnot.
42370
42371 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
42372             Bruno Haible  <bruno@clisp.org>
42373
42374         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
42375         /bin/sh understanding of '!' conditional negation.
42376
42377 2006-08-21  Jim Meyering  <jim@meyering.net>
42378
42379         * modules/openat (Depends-on): Really alphabetize.
42380
42381         * modules/acl (Depends-on): Add error and quote.
42382
42383         * check-module (find_included_lib_files): Add at-func.c to the
42384         ok-to-include-more-than-once white list.
42385
42386         * modules/openat (Depends-on): Add lstat.  Alphabetize.
42387
42388 2006-08-21  Bruno Haible  <bruno@clisp.org>
42389
42390         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42391         Emit a pkgdata_DATA variable only if some snippets add contents to it.
42392         Reported by Martin Lambers <marlam@marlam.de>.
42393
42394 2006-08-21  Bruno Haible  <bruno@clisp.org>
42395
42396         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
42397         specify an installation location, don't emit a noinst_LIBRARIES or
42398         noinst_LTLIBRARIES assignment.
42399
42400 2006-08-21  Bruno Haible  <bruno@clisp.org>
42401
42402         BeOS portability.
42403         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
42404         BeOS has mbrtowc() but no <wctype.h>.
42405
42406 2006-08-21  Bruno Haible  <bruno@clisp.org>
42407
42408         BeOS portability.
42409         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
42410         exist.
42411
42412 2006-08-21  Bruno Haible  <bruno@clisp.org>
42413
42414         BeOS portability.
42415         * lib/mbchar.h: Include <wctype.h> only if it exists.
42416
42417 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42418
42419         Remove files that are no longer needed by their respective modules.
42420         * m4/obstack.m4: Remove.
42421         * m4/strerror_r.m4: Remove.
42422         * m4/uint32_t.m4: Remove.
42423         * m4/uintptr_t.m4: Remove.
42424         * m4/ullong_max.m4: Remove.
42425         * m4/xstrtoimax.m4: Remove.
42426         * m4/xstrtoumax.m4: Remove.
42427
42428         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
42429         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
42430         dependencies now capture this.
42431
42432         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
42433         Do not use AC_LIBSOURCES, since gnulib modules now do this.
42434         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
42435         * m4/human.m4 (gl_HUMAN): Likewise.
42436         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
42437         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
42438
42439         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
42440
42441         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
42442         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
42443         stdint.
42444         * m4/human.m4 (gl_HUMAN): Likewise.
42445         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
42446         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
42447         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42448         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42449         * m4/xstrtol (gl_XSTRTOL): Likewise.
42450
42451         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
42452         AC_TYPE_LONG_LONG_INT.
42453         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42454         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
42455         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
42456         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42457
42458         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
42459         on stdbool.
42460
42461         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
42462         (gl_PREREQ_XSTRTOUL): Remove.
42463
42464         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
42465
42466         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
42467         mode.
42468
42469 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42470
42471         Add and change modules to make it easier for coreutils to use
42472         gnulib-tool.
42473         * modules/backupfile (Files): Remove m4/d-ino.m4.
42474         (Depends-on): Add d-ino.
42475         * modules/cycle-check (Depends-on): Add stdint.
42476         (lib_SOURCES): Add cycle-check.h.
42477         * modules/d-ino: New module.
42478         * modules/d-type: New module.
42479         * modules/error (Files): Remove m4/strerror_r.m4.
42480         * modules/filemode (Files): Add m4/st_dm_mode.m4.
42481         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
42482         m4/inttypes_h.m4, m4/uintmax_t.m4.
42483         (Depends-on): Add stdint.
42484         (lib_SOURCES): Add fsusage.h.
42485         * modules/getcwd (Files): Remove d-ino.m4.
42486         (Depends-on): Add d-ino.
42487         * modules/getndelim2 (Depends-on): Add stdint.
42488         * modules/glob (Files): Remove m4/d-type.m4.
42489         (Depends-on): Add d-type.
42490         * modules/host-os: New module.
42491         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
42492         m4/inttypes_h.m4, m4/uintmax_t.m4.
42493         * Depends-on: Add stdint.
42494         (lib_SOURCES): Add human.h.
42495         * modules/inttostr (Files): Remove m4/intmax_t.m4,
42496         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
42497         m4/uintmax_t.m4, m4/ulonglong.m4.
42498         (Depends-on): Add stdint.
42499         (EXTRA_DIST): Add inttostr.h.
42500         * modules/lchmod: New module.
42501         * modules/link-follow: New module.
42502         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
42503         (Depends-on): Add lchmod.
42504         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
42505         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
42506         (Depends-on): Add stdint.
42507         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
42508         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
42509         (Depends-on): Add stdint.
42510         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
42511         * modules/perl: New module.
42512         * modules/regex (Depends-on): Add stdint.
42513         * modules/rmdir-errno: New module.
42514         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42515         m4/intmax_t.m4.
42516         (Depends-on): Add stdint.
42517         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42518         m4/uintmax_t.m4.
42519         (Depends-on): Add stdint.
42520         * modules/unlink-busy: New module.
42521         * modules/utimecmp (Depends-on): Add stdint.
42522         * modules/uptime: New module.
42523         * modules/winsz-ioctl: New module.
42524         * modules/winsz-termios: New module.
42525         * modules/xnanosleep (Depends-on): Add nanosleep.
42526         * modules/ullong_max: Remove.
42527         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
42528         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
42529         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
42530         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
42531         (Depends-on): Add inttypes.
42532         (lib_SOURCES): Add xstrtol.h.
42533         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
42534         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
42535         * MODULES.html.sh: Move 'assert' into the assert section.
42536         Move 'dummy' into the linking section.
42537         Remove ullong_max.
42538         Add section for compatibility checks for POSIX:2001 functions,
42539         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
42540         winsz-ioctl, and winsz-termios into it.
42541         Add lchmod.
42542         Add top-level Misc section and put host-os, perl, and uptime
42543         into it.
42544
42545 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42546
42547         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
42548         now assume the stdint module.  Do not include inttypes.h.
42549         * lib/fsusage.h: Likewise.
42550         * lib/getndelim2.c: Likewise.
42551         * lib/human.h: Likewise.
42552         * lib/inttostr.h: Likewise.
42553         * lib/obstack.c: Likewise.
42554         * lib/regex_internal.h: Likewise.
42555         * lib/tempname.c: Likewise.
42556         * lib/utimecmp.c: Likewise.
42557         * lib/xstrtol.h: Likewise.
42558
42559         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
42560
42561         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
42562         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
42563         * lib/xtime.h: Likewise.
42564
42565 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42566
42567         * modules/openat (Files): Add lib/fchmodat.c.
42568         Fixes problem reported by Jay Youngman.
42569
42570 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42571
42572         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
42573         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
42574
42575 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
42576             Bruno Haible  <bruno@clisp.org>
42577
42578         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
42579         and is a script that invokes bison. Tighten the code. Add comments.
42580
42581 2006-08-18  Jim Meyering  <jim@meyering.net>
42582
42583         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
42584         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
42585         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
42586         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
42587
42588 2006-08-18  Bruno Haible  <bruno@clisp.org>
42589
42590         * modules/bison-i18n: New file.
42591         * MODULES.html.sh (Internationalization functions): Add it.
42592
42593 2006-08-18  Bruno Haible  <bruno@clisp.org>
42594
42595         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
42596         sys/statvfs.h. When getmntinfo was found, check its declaration and
42597         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
42598
42599 2006-08-18  Bruno Haible  <bruno@clisp.org>
42600
42601         * m4/bison-i18n.m4: New file, from bison.
42602
42603 2006-08-18  Bruno Haible  <bruno@clisp.org>
42604
42605         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
42606         (ME_DUMMY): Treat "kernfs" as a dummy.
42607         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
42608
42609 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42610
42611         Update from coreutils.
42612
42613         2006-08-15  Jim Meyering  <jim@meyering.net>
42614
42615         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
42616
42617         2006-01-17  Jim Meyering  <jim@meyering.net>
42618
42619         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
42620
42621         2006-01-11  Jim Meyering  <jim@meyering.net>
42622
42623         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
42624         Check for the lchmod function.
42625
42626 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42627
42628         Update from coreutils.
42629
42630         * lib/__fpending.h: Add copyright notice.
42631         * lib/fprintftime.h: Likewise.
42632         * lib/savedir.c: Use (C) in copyright notice.
42633         * lib/savedir.h: Likewise.
42634
42635         2006-08-15  Jim Meyering  <jim@meyering.net>
42636
42637         * lib/at-func.c: New file, with the logic of all emulated at-functions.
42638         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
42639         in support of the EXPECTED_ERRNO macro.
42640         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
42641         definitions.  Instead, define the appropriate symbols and include
42642         "at-func.c".
42643         * lib/mkdirat.c (mkdirat): Likewise.
42644         * lib/fchmodat.c (fchmodat): Likewise.
42645         (ENOSYS): Remove definition.
42646         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
42647         it.  Don't include "unistd--.h" -- it wasn't ever used.
42648
42649         2006-01-17  Jim Meyering  <jim@meyering.net>
42650
42651         Rewrite fts.c not to change the current working directory,
42652         by using openat, fstatat, fdopendir, etc..
42653
42654         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
42655         (HAVE_OPENAT_SUPPORT): Define.
42656         [_LIBC] (fchdir): Don't undef or define; no longer used.
42657         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
42658         Now, this `function' always succeeds, and consumes its file descriptor
42659         parameter -- so callers must not close such FDs.  Update callers.
42660         (diropen_fd, opendirat, cwd_advance_fd): New functions.
42661         (diropen): Add parameter, SP.  Adjust all callers.
42662         Implement using diropen_fd, rather than open.
42663         (fts_open): Initialize new member, fts_cwd_fd.
42664         Remove fts_rft-setting code.
42665         (fts_close): Close fts_cwd_fd, if necessary.
42666         (__opendir2): Define in terms of opendir or opendirat,
42667         depending on whether the FST_NOCHDIR flag is set.
42668         (fts_build): Since fts_safe_changedir consumes its FD, and since
42669         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
42670         and close the dup'd file descriptor upon failure.
42671         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
42672         (fts_safe_changedir): Tweak semantics to reflect that this function
42673         now calls cwd_advance_fd and hence consumes its FD argument.
42674         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
42675         [struct FTS] (fts_rft): Remove now-unused member.
42676         [struct FTS] (fts_cycle.state): Improve comment.
42677
42678         * lib/openat.c (openat_needs_fchdir): New function.
42679         * lib/openat.h (openat_needs_fchdir): Declare it.
42680
42681 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
42682
42683         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
42684         Problem and fix reported by Pádraig Brady in
42685         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
42686
42687 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42688
42689         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
42690
42691 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42692
42693         * lib/memcoll.c (memcoll): Optimize for the common case where the
42694         arguments are bytewise equal.
42695
42696 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42697
42698         * doc/regexprops-generic.texi: Add a copyright notice.
42699
42700 2006-08-15  Bruno Haible  <bruno@clisp.org>
42701
42702         * modules/tmpdir (License): Change to LGPL.
42703
42704 2006-08-15  Bruno Haible  <bruno@clisp.org>
42705
42706         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
42707         module.
42708
42709 2006-08-14  Simon Josefsson  <jas@extundo.com>
42710
42711         * config/srclist.txt: Add gnupload.
42712
42713 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42714
42715         Change copyright notice from LGPL 2 to GPL 2, since that's the
42716         standard form used in the gnulib repository.
42717         * tests/test-lock.c: Likewise.
42718         * tests/test-stdint.c: Likewise.
42719         * tests/test-tls.c: Likewise.
42720
42721         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
42722         prelude-manager.  User shorter URLs for GNU projects, without '?'.
42723         Add copyright notice.
42724
42725         * check-module: Add copyright notice.  Output a copyright
42726         notice if "--version" is specified.
42727         * modules/COPYING: New file.
42728         * tests/test-getaddrinfo.c: Add copyright notice.
42729         * tests/test-verify.c: Likewise.
42730
42731 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42732
42733         Change copyright notice from LGPL 2 to GPL 2, since that's the
42734         standard form used in the gnulib repository.
42735         * lib/lock.c: LGPL -> GPL.
42736         * lib/lock.h: Likewise.
42737         * lib/strnlen1.c: Likewise.
42738         * lib/strnlen1.h: Likewise.
42739         * lib/tls.c: Likewise.
42740         * lib/tls.h: Likewise.
42741         * lib/tmpdir.c: Likewise.
42742
42743         * lib/TODO: Remove; this belongs only in coreutils.
42744
42745 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42746
42747         Add copyright notices to long-enough files that lack them, since
42748         otherwise the files aren't clearly free.  Use the same notice that
42749         getdate.texi already uses.
42750         * doc/alloca-opt.texi: Add copyright notice.
42751         * doc/alloca.texi: Likewise.
42752         * doc/ctime.texi: Likewise.
42753         * doc/functions.texi: Likewise.
42754         * doc/gcd.texi: Likewise.
42755         * doc/gnulib-tool.texi: Likewise.
42756         * doc/inet_ntoa.texi: Likewise.
42757         * doc/visibility.texi: Likewise.
42758
42759         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
42760         * doc/quote.texi: Add copyright notice.
42761
42762         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
42763         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
42764         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
42765         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
42766         is now obsolete, and give a pointer to the Sun list.
42767         Add copyright notice.
42768
42769 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42770
42771         * config/srclistvars.sh: Add copyright notice.
42772
42773 2006-08-14  Eric Blake  <ebb9@byu.net>
42774
42775         Import the following change from libc:
42776
42777         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
42778
42779         Upstream bug 2997.
42780         * lib/misc/error.c: Add space between program name and message if file
42781         name is missing.
42782
42783 2006-08-12  Karl Berry  <karl@gnu.org>
42784
42785         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
42786         remove, these originate in gnulib now.
42787
42788 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42789
42790         * doc/Makefile (standards.info standards.html standards.dvi):
42791         Also depend on make-stds.texi.
42792
42793 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
42794
42795         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
42796         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
42797
42798         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
42799         in wchar_t.  Problem reported by Eric Blake.
42800
42801         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
42802         LEN is smaller than SIZE.  Suggested by Bruno Haible.
42803         Also, help the compiler to keep LEN in a register.
42804
42805 2006-08-11  Eric Blake  <ebb9@byu.net>
42806
42807         * users.txt: Sort.  Add tar.
42808
42809 2006-08-11  Bruno Haible  <bruno@clisp.org>
42810
42811         * users.txt: New file.
42812
42813 2006-08-11  Bruno Haible  <bruno@clisp.org>
42814
42815         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
42816         before <wchar.h>. Needed for OSF/1 and BSD/OS.
42817
42818 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42819
42820         * modules/snprintf (Depends-on): Remove minmax.
42821         (Maintainer): Add self and Bruno.
42822
42823 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42824
42825         * lib/.cppi-disable: Add snprintf.h, socket_.h.
42826         * lib/snprintf.c: Include <errno.h> and <limits.h>.
42827         (EOVERFLOW): Define if the system does not.
42828         Do not include "minmax.h"; it wasn't used.
42829         (snprintf): Don't assume size_t promotes to an unsigned type.
42830         Fix bug when generated string was too long for the buffer: the
42831         buffer's contents are supposed to be the initial prefix of the
42832         output.  Don't assume vasnprintf returns EOVERFLOW if the size
42833         exceeds INT_MAX; do the check ourselves.
42834
42835         Import the following changes from libc:
42836
42837         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
42838
42839         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
42840         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
42841         set wc to the byte which couldn't be converted.
42842         (re_string_reconstruct): Don't clear valid_raw_len before calling
42843         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
42844         tip_context using re_string_context_at.
42845
42846         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
42847
42848         * lib/posix/regex.h: g++ still cannot handled [restrict].
42849
42850         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
42851
42852         * lib/posix/regex.h: Remove special handling for VMS.
42853
42854 2006-08-10  Jim Meyering  <jim@meyering.net>
42855
42856         * modules/same-inode: New module.
42857         * modules/dev-ino: New module.
42858         * modules/cycle-check: Depend on these modules, rather than simply
42859         including their .h files.
42860         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
42861         required via m4/cycle-check.m4.
42862         * modules/same: Depend on new same-inode module, rather than
42863         including same-inode.h.
42864         * modules/chdir-safer: New file.
42865
42866         * modules/chown (Depends-on): Add stat-macros.
42867
42868 2006-08-10  Jim Meyering  <jim@meyering.net>
42869
42870         * m4/cycle-check.m4: New file.
42871         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
42872         * m4/dev-ino.m4, m4/same-inode.m4: New files.
42873
42874 2006-08-10  Eric Blake  <ebb9@byu.net>
42875
42876         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
42877         in from original proposal.
42878
42879 2006-08-10  Eric Blake  <ebb9@byu.net>
42880         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
42881
42882         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
42883         namespace.
42884
42885 2006-08-10  Bruno Haible  <bruno@clisp.org>
42886
42887         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
42888         as well.
42889
42890 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42891
42892         Sync from coreutils.
42893
42894         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
42895
42896         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
42897         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
42898
42899 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42900
42901         * modules/restrict: Remove; no longer needed now that we assume
42902         Autoconf 2.59 or later.
42903         * MODULES.html.sh: Remove 'restrict'.
42904         * modules/argp (Depends-on): Remove 'restrict'.
42905         * modules/base64 (Depends-on): Likewise.
42906         * modules/gc (Depends-on): Likewise.
42907         * modules/getaddrinfo (Depends-on): Likewise.
42908         * modules/glob (Depends-on): Likewise.
42909         * modules/inet_ntop (Depends-on): Likewise.
42910         * modules/inet_pton (Depends-on): Likewise.
42911         * modules/memxor (Depends-on): Likewise.
42912         * modules/regex (Depends-on): Likewise.
42913         * modules/strtok_r (Depends-on): Likewise.
42914         * modules/time_r (Depends-on): Likewise.
42915
42916 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42917
42918         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
42919         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
42920         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
42921         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
42922         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
42923         * m4/memxor.m4 (gl_MEMXOR): Likewise.
42924         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
42925         gl_C_RESTRICT replaced by AC_C_RESTRICT.
42926
42927         Merge from coreutils.
42928         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
42929         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
42930         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
42931         * m4/time_r.m4 (gl_TIME_R): Likewise.
42932
42933 2006-08-09  Karl Berry  <karl@gnu.org>
42934
42935         * config/srclist.txt: no more gettext-tools, per Bruno.
42936
42937 2006-08-08  Eric Blake  <ebb9@byu.net>
42938
42939         * modules/verror: New module.
42940         * MODULES.html.sh: Document it.
42941
42942 2006-08-08  Eric Blake  <ebb9@byu.net>
42943
42944         * lib/verror.h, lib/verror.c: New files.
42945
42946 2006-08-08  Eric Blake  <ebb9@byu.net>
42947
42948         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
42949         verror_at_line output complies with GNU Coding Standards even when
42950         file is NULL.
42951
42952 2006-08-07  Bruno Haible  <bruno@clisp.org>
42953
42954         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
42955         versions of AIX.
42956         Reported by Ralf Wildenhues.
42957
42958 2006-08-07  Bruno Haible  <bruno@clisp.org>
42959
42960         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
42961         in an AC_DEFUN. Needed so that the autoconf snippets can use
42962         AC_REQUIRE.
42963
42964 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42965
42966         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42967         Initialize pkgdata_DATA.
42968         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
42969         overriding it.
42970
42971 2006-08-06  Eric Blake  <ebb9@byu.net>
42972
42973         * lib/error.h: Fold in some upstream changes from glibc.
42974         * lib/error.c: Likewise.
42975
42976 2006-08-04  Bruno Haible  <bruno@clisp.org>
42977
42978         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42979         Make the mostlyclean-local rule depend on mostlyclean-generic.
42980         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
42981
42982 2006-07-31  Bruno Haible  <bruno@clisp.org>
42983
42984         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
42985         <stdlib.h>, <string.h>.
42986
42987 2006-07-30  Bruno Haible  <bruno@clisp.org>
42988
42989         * modules/readlink (License): Change to LGPL.
42990
42991 2006-07-30  Bruno Haible  <bruno@clisp.org>
42992
42993         * modules/javaversion (Makefile.am): Distribute javaversion.java and
42994         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
42995         set PKGDATADIR to point to it.
42996
42997 2006-07-30  Bruno Haible  <bruno@clisp.org>
42998
42999         * modules/csharpexec (configure.ac): Comment out macro invocation.
43000         * modules/javaexec (configure.ac): Likewise.
43001         * modules/javacomp-script (configure.ac): Likewise.
43002
43003         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
43004
43005 2006-07-30  Bruno Haible  <bruno@clisp.org>
43006
43007         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
43008         linked-list.
43009
43010 2006-07-30  Bruno Haible  <bruno@clisp.org>
43011
43012         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
43013
43014 2006-07-30  Bruno Haible  <bruno@clisp.org>
43015
43016         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43017         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
43018         get removed.
43019
43020 2006-07-29  Bruno Haible  <bruno@clisp.org>
43021
43022         Make it possible for gnulib-tool to work with locally modified or
43023         augmented gnulib repositories.
43024         * gnulib-tool (func_usage): Document --local-dir option.
43025         (local_gnulib_dir): New variable.
43026         Handle --local-dir option.
43027         (func_lookup_file): New function.
43028         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
43029         (func_get_description, func_get_filelist, func_get_description,
43030         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
43031         func_get_automake_snippet, func_get_include_directive,
43032         func_get_license, func_get_maintainer): Use func_lookup_file.
43033         (func_import, func_create_testdir): Use func_lookup_file.
43034
43035 2006-07-29  Bruno Haible  <bruno@clisp.org>
43036
43037         * modules/setenv (Depends-on): Add unistd.
43038
43039 2006-07-29  Bruno Haible  <bruno@clisp.org>
43040
43041         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
43042
43043 2006-07-29  Bruno Haible  <bruno@clisp.org>
43044
43045         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
43046
43047 2006-07-29  Bruno Haible  <bruno@clisp.org>
43048
43049         * gnulib-tool (import, update): If there is no Makefile.am, look at
43050         aclocal.m4, instead of bailing out.
43051
43052 2006-07-29  Bruno Haible  <bruno@clisp.org>
43053
43054         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
43055         Categorize the options by when they are useful.
43056
43057 2006-07-29  Bruno Haible  <bruno@clisp.org>
43058
43059         * gnulib-tool (func_usage): Document option --no-libtool.
43060         Handle option --no-libtool.
43061         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
43062         for changed semantics of $libtool variable.
43063         (func_import): Likewise. If libtool is not used, show this through
43064         an option --no-libtool.
43065         (func_create_testdir): Update.
43066
43067 2006-07-29  Bruno Haible  <bruno@clisp.org>
43068
43069         * gnulib-tool (func_import): Extend error message about missing
43070         --doc-base.
43071
43072 2006-07-29  Bruno Haible  <bruno@clisp.org>
43073
43074         * gnulib-tool (func_import): Don't create the $docbase directory if
43075         there is no file to store there.
43076
43077 2006-07-29  Bruno Haible  <bruno@clisp.org>
43078
43079         * gnulib-tool (autoconf_minversion): If a --dir option is given and
43080         relevant, look for configure.ac there, not in the current directory.
43081         Also use a simple search for AC_PREREQ, not "autoconf --trace".
43082
43083 2006-07-29  Bruno Haible  <bruno@clisp.org>
43084
43085         * gnulib-tool (SORT): New variable.
43086         (func_usage): Undocument --assume-autoconf option.
43087         Remove --assume-autoconf option handling.
43088         (autoconf_minversion): Determine from the contents of configure.ac.
43089         (func_import): Remove autoconf_minversion handling.
43090         Suggested by Eric Blake.
43091
43092 2006-07-29  Bruno Haible  <bruno@clisp.org>
43093
43094         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
43095
43096 2006-07-29  Bruno Haible  <bruno@clisp.org>
43097
43098         * config/srclist.txt (*setenv.[ch]): Remove rules.
43099
43100 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43101
43102         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
43103
43104 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43105
43106         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
43107         arpa/inet.h.
43108
43109 2006-07-28  Simon Josefsson  <jas@extundo.com>
43110
43111         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
43112         * modules/inet_pton (Depends-on): Likewise.
43113
43114 2006-07-28  Simon Josefsson  <jas@extundo.com>
43115
43116         * m4/netinet_in_h.m4: New file.
43117
43118 2006-07-28  Simon Josefsson  <jas@extundo.com>
43119
43120         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
43121         #include's.
43122
43123 2006-07-28  Simon Josefsson  <jas@extundo.com>
43124
43125         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
43126         #include's.
43127
43128 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
43129
43130         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
43131         setgid on directories only if they set these bits.
43132         * lib/modechange.h: Remove obsolete comment about masks.
43133
43134 2006-07-28  Eric Blake  <ebb9@byu.net>
43135
43136         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
43137         macro expansion.
43138
43139 2006-07-28  Bruno Haible  <bruno@clisp.org>
43140
43141         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
43142
43143 2006-07-28  Bruno Haible  <bruno@clisp.org>
43144
43145         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
43146
43147 2006-07-28  Bruno Haible  <bruno@clisp.org>
43148
43149         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43150         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
43151         Define fallbacks.
43152         Avoids link error on FreeBSD 4.x.
43153         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43154
43155         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
43156         encoding.
43157         * lib/mbswidth.c (iswcntrl): Likewise.
43158
43159 2006-07-27  Bruno Haible  <bruno@clisp.org>
43160
43161         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
43162         test.
43163
43164 2006-07-27  Bruno Haible  <bruno@clisp.org>
43165
43166         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
43167         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
43168         defined.
43169
43170 2006-07-26  Eric Blake  <ebb9@byu.net>
43171
43172         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
43173
43174 2006-07-26  Eric Blake  <ebb9@byu.net>
43175
43176         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
43177         like mingw that lack mkstemp.
43178         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
43179         avoid compilation warning on mingw.
43180
43181 2006-07-26  Bruno Haible  <bruno@clisp.org>
43182
43183         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
43184         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
43185         INT_FAST*_MIN, INTPTR_MIN.
43186
43187 2006-07-25  Bruno Haible  <bruno@clisp.org>
43188
43189         * modules/version-etc (Depends-on): Add stdarg.
43190
43191 2006-07-25  Bruno Haible  <bruno@clisp.org>
43192
43193         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
43194         complex commands.
43195
43196 2006-07-25  Bruno Haible  <bruno@clisp.org>
43197
43198         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
43199         defined in <stdarg.h> or config.h.
43200
43201 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
43202
43203         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
43204         (gl_STDIO_SAFER): Remove.
43205
43206 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
43207
43208         * MODULES.html.sh (File stream based Input/Output):
43209         Add fopen-safer, tmpfile-safer; remove stdio-safer.
43210         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
43211         * modules/fopen-safer, modules/tmpfile-safer: New files.
43212         * modules/stdio-safer: Remove.
43213
43214 2006-07-24  Bruno Haible  <bruno@clisp.org>
43215
43216         * modules/tmpdir: New file.
43217         * MODULES.html.sh (File system functions): Add it.
43218
43219 2006-07-24  Bruno Haible  <bruno@clisp.org>
43220
43221         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
43222         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
43223
43224 2006-07-24  Bruno Haible  <bruno@clisp.org>
43225
43226         * modules/clean-temp: New file.
43227
43228 2006-07-24  Bruno Haible  <bruno@clisp.org>
43229
43230         * m4/tmpdir.m4: New file, from GNU gettext.
43231
43232 2006-07-24  Bruno Haible  <bruno@clisp.org>
43233
43234         * lib/tmpdir.h: New file, from GNU gettext.
43235         * lib/tmpdir.c: New file, from GNU gettext.
43236
43237 2006-07-24  Bruno Haible  <bruno@clisp.org>
43238
43239         * lib/clean-temp.h: New file, from GNU gettext.
43240         * lib/clean-temp.c: New file, from GNU gettext.
43241
43242 2006-07-23  Eric Blake  <ebb9@byu.net>
43243
43244         * modules/stdio-safer (Files): Add tmpfile-safer.c.
43245         (Depends-on): Add binary-io.
43246
43247 2006-07-23  Eric Blake  <ebb9@byu.net>
43248
43249         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
43250
43251 2006-07-23  Eric Blake  <ebb9@byu.net>
43252
43253         * lib/tmpfile-safer.c: New file.
43254         * lib/stdio-safer.h (fopen_safer): Add prototype.
43255         * lib/stdio--.h (tmpfile): Make safer.
43256
43257 2006-07-23  Bruno Haible  <bruno@clisp.org>
43258
43259         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
43260         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
43261         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
43262         gl_linked_remove_at): Use it.
43263
43264 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43265         and Simon Josefsson <jas@extundo.com>
43266
43267         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
43268
43269         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
43270
43271 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43272
43273         * modules/close-stream: New file.
43274         * modules/closeout (Description): Make it clear that it exits
43275         with a diagnostic on error.
43276         (Depends-on): Add close-stream.  Remove fpending, stdbool.
43277         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
43278
43279 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43280
43281         * m4/close-stream.m4: New file.
43282
43283 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43284
43285         * lib/close-stream.c, lib/close-stream.h: New files.
43286
43287 2006-07-22  Bruno Haible  <bruno@clisp.org>
43288
43289         Merge from GNU gettext 0.15.
43290
43291         2006-05-01  Bruno Haible  <bruno@clisp.org>
43292
43293                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
43294
43295         2006-07-22  Bruno Haible  <bruno@clisp.org>
43296
43297                 * modules/javaversion: New file.
43298                 * MODULES.html.sh (Java): Add javaversion.
43299
43300         2006-03-12  Bruno Haible  <bruno@clisp.org>
43301
43302                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
43303
43304         2005-12-04  Bruno Haible  <bruno@clisp.org>
43305
43306                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
43307                 (untested).
43308
43309         2006-06-21  Bruno Haible  <bruno@clisp.org>
43310
43311                 Avoid warnings from recent versions of mcs.
43312                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
43313                 -o, -L, -r any more. Use options documented since mcs-1.0
43314                 instead. Similarly for -g.
43315
43316         2005-12-04  Bruno Haible  <bruno@clisp.org>
43317
43318                 * build-aux/csharpcomp.sh.in: Suffix for resources is
43319                 .resources, not .resource.
43320
43321         2005-07-09  Bruno Haible  <bruno@clisp.org>
43322
43323                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
43324                 add a .dll suffix.
43325                 Reported by Mark Junker <mjscod@gmx.de>.
43326
43327         2006-07-22  Bruno Haible  <bruno@clisp.org>
43328
43329                 * modules/gettext: Upgrade to gettext-0.15.
43330                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
43331                 m4/visibility.m4.
43332                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
43333
43334 2006-07-22  Bruno Haible  <bruno@clisp.org>
43335
43336         Merge from GNU gettext 0.15.
43337
43338         2006-03-25  Bruno Haible  <bruno@clisp.org>
43339
43340                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
43341
43342         2006-07-21  Bruno Haible  <bruno@clisp.org>
43343
43344                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
43345                 "1.1".
43346
43347         2006-05-09  Bruno Haible  <bruno@clisp.org>
43348
43349                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
43350                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
43351                 for the conftestver execution.
43352
43353         2006-05-01  Bruno Haible  <bruno@clisp.org>
43354
43355                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
43356                 optional target-version argument. Verify that the compiler
43357                 groks source of the specified source-version, or add -source
43358                 option as necessary. Verify that the compiler produces
43359                 bytecode in the specified target-version, or add -target and
43360                 -source options as necessary. Make the result of the test
43361                 available as variable CONF_JAVAC. Also log error output in
43362                 config.log.
43363
43364         2006-03-11  Bruno Haible  <bruno@clisp.org>
43365
43366                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
43367
43368         2006-05-09  Bruno Haible  <bruno@clisp.org>
43369
43370                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
43371                 CLASSPATH_SEPARATOR to a semicolon.
43372
43373         2006-03-12  Bruno Haible  <bruno@clisp.org>
43374
43375                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
43376                 available as variable CONF_JAVA, for subsequent autoconf
43377                 tests. Also log error output in config.log.
43378
43379         2006-07-19  Bruno Haible  <bruno@clisp.org>
43380
43381                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
43382                 that getline works on glibc2 systems. Needed to avoid trouble
43383                 in relocatable.c.
43384                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
43385
43386         2005-12-04  Bruno Haible  <bruno@clisp.org>
43387
43388                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
43389                 launcher (untested).
43390
43391         2005-12-04  Bruno Haible  <bruno@clisp.org>
43392
43393                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
43394
43395         2006-07-22  Bruno Haible  <bruno@clisp.org>
43396
43397                 * gettext.m4: Update from GNU gettext-0.15.
43398                 * nls.m4: Likewise.
43399                 * po.m4: Likewise.
43400                 * inttypes-pri.m4: Likewise.
43401                 * inttypes-h.m4: Renamed from inttypes.m4.
43402                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
43403
43404 2006-07-22  Bruno Haible  <bruno@clisp.org>
43405
43406         Merge from GNU gettext 0.15.
43407
43408         2005-07-05  Bruno Haible  <bruno@clisp.org>
43409
43410                 * printf-args.c (printf_fetchargs): Work around broken
43411                 definition of wint_t on mingw.
43412
43413         2005-02-12  Bruno Haible  <bruno@clisp.org>
43414
43415                 * xallocsa.h: Add extern "C" for C++.
43416
43417         2006-05-17  Bruno Haible  <bruno@clisp.org>
43418
43419                 Cygwin portability.
43420                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
43421
43422         2006-04-30  Bruno Haible  <bruno@clisp.org>
43423
43424                 * progreloc.c: Include <mach-o/dyld.h> if available.
43425                 (find_executable): Use _NSGetExecutablePath when possible.
43426
43427         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
43428
43429                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
43430                 function.
43431
43432         2005-12-29  Bruno Haible  <bruno@clisp.org>
43433
43434                 * progreloc.c (set_program_name_and_installdir): Fix
43435                 compilation error.
43436
43437         2005-12-04  Bruno Haible  <bruno@clisp.org>
43438
43439                 Cygwin portability.
43440                 * progreloc.c: Include <windows.h> also on Cygwin.
43441                 (find_executable): Add support for Cygwin.
43442                 (set_program_name_and_installdir): Handle also platforms with
43443                 nonempty EXEEXT.
43444
43445         2006-07-11  Bruno Haible  <bruno@clisp.org>
43446
43447                 * javacomp.c: Fix a comment.
43448                 Reported by Jim Meyering.
43449
43450         2006-04-30  Bruno Haible  <bruno@clisp.org>
43451
43452                 * javacomp.h (compile_java_class): Add source_version,
43453                 target_version arguments.
43454                 * javacomp.c: Rewritten to choose only a compiler that
43455                 respects the specified source_version and target_version.
43456
43457         2006-06-27  Bruno Haible  <bruno@clisp.org>
43458
43459                 Assume correct S_ISDIR macro.
43460                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
43461
43462         2006-07-22  Bruno Haible  <bruno@clisp.org>
43463
43464                 * javaversion.h: New file, from GNU gettext.
43465                 * javaversion.c: New file, from GNU gettext.
43466                 * javaversion.java: New file, from GNU gettext.
43467                 * javaversion.class: New file, from GNU gettext.
43468
43469         2006-05-17  Bruno Haible  <bruno@clisp.org>
43470
43471                 Cygwin portability.
43472                 * javaexec.c (execute_java_class): Test for jview program
43473                 also on Cygwin.
43474
43475         2006-04-09  Bruno Haible  <bruno@clisp.org>
43476
43477                 * fatal-signal.c: Don't include string.h.
43478                 (at_fatal_signal): Use a copying loop instead of memcpy.
43479
43480         2005-12-04  Bruno Haible  <bruno@clisp.org>
43481
43482                 * csharpexec.c: Add support for 'clix' launcher (untested).
43483                 (execute_csharp_using_sscli): New function.
43484                 (execute_csharp_program): Call it.
43485
43486         2006-06-21  Bruno Haible  <bruno@clisp.org>
43487
43488                 Avoid warnings from recent versions of mcs.
43489                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
43490                 -o, -L, -r any more. Use options documented since mcs-1.0
43491                 instead. Similarly for -g.
43492
43493         2005-07-09  Bruno Haible  <bruno@clisp.org>
43494
43495                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
43496                 add a .dll suffix.
43497                 Reported by Mark Junker <mjscod@gmx.de>.
43498
43499         2006-06-17  Bruno Haible  <bruno@clisp.org>
43500
43501                 * config.charset: Update for NetBSD 3.0.
43502
43503         2006-05-17  Bruno Haible  <bruno@clisp.org>
43504
43505                 Cygwin portability.
43506                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
43507
43508         2006-05-16  Bruno Haible  <bruno@clisp.org>
43509
43510                 * localcharset.c [CYGWIN]: Include <windows.h>.
43511                 (get_charset_aliases): For Cygwin, return the same CPxxx
43512                 aliases list as under WIN32.
43513                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
43514                 the environment variables. Fall back to GetACP().
43515
43516         2006-04-05  Bruno Haible  <bruno@clisp.org>
43517
43518                 * config.charset: Update Juan Manuel Guerrero's address.
43519
43520         2005-02-12  Bruno Haible  <bruno@clisp.org>
43521
43522                 * allocsa.h: Add extern "C" for C++.
43523
43524         2005-02-10  Bruno Haible  <bruno@clisp.org>
43525
43526                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
43527                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
43528
43529         2006-07-22  Bruno Haible  <bruno@clisp.org>
43530
43531                 * gettext.h: Update to GNU gettext-0.15.
43532
43533 2006-07-22  Bruno Haible  <bruno@clisp.org>
43534
43535         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
43536         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
43537         lib-prefix.m4, longdouble.m4, ssize_t.m4.
43538
43539 2006-07-21  Eric Blake  <ebb9@byu.net>
43540
43541         * modules/stdlib-safer: New file.
43542         * MODULES.html.sh (File stream based Input/Output): Add
43543         stdlib-safer.
43544
43545 2006-07-21  Eric Blake  <ebb9@byu.net>
43546
43547         * lib/stdlib-safer.h: New file from coreutils, required by
43548         stdlib--.h.
43549
43550 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
43551
43552         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
43553
43554 2006-07-20  Bruno Haible  <bruno@clisp.org>
43555
43556         * gnulib-tool: Recognize new option --assume-autoconf.
43557         (autoconf_minversion): New variable.
43558         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
43559
43560 2006-07-20  Bruno Haible  <bruno@clisp.org>
43561
43562         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
43563
43564 2006-07-19  Derek R. Price  <derek@ximbiot.com>
43565
43566         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
43567         Reindent and repaginate.
43568
43569 2006-07-19  Derek Price  <derek@ximbiot.com>
43570
43571         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
43572         Correct grammar.
43573
43574 2006-07-17  Bruno Haible  <bruno@clisp.org>
43575
43576         * modules/list: New file.
43577         * modules/array-list: New file.
43578         * modules/carray-list, modules/carray-list-tests: New files.
43579         * modules/linked-list, modules/linked-list-tests: New files.
43580         * modules/avltree-list, modules/avltree-list-tests: New files.
43581         * modules/rbtree-list, modules/rbtree-list-tests: New files.
43582         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
43583         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
43584         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
43585         * modules/oset: New file.
43586         * modules/array-oset: New file.
43587         * modules/avltree-oset, modules/avltree-oset-tests: New files.
43588         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
43589         * tests/test-carray_list.c: New file.
43590         * tests/test-linked_list.c: New file.
43591         * tests/test-avltree_list.c: New file.
43592         * tests/test-rbtree_list.c: New file.
43593         * tests/test-linkedhash_list.c: New file.
43594         * tests/test-avltreehash_list.c: New file.
43595         * tests/test-rbtreehash_list.c: New file.
43596         * tests/test-avltree_oset.c: New file.
43597         * tests/test-rbtree_oset.c: New file.
43598         * MODULES.html.sh (Container data structures): New section.
43599
43600 2006-07-17  Bruno Haible  <bruno@clisp.org>
43601
43602         * m4/gl_list.m4: New file.
43603
43604 2006-07-17  Bruno Haible  <bruno@clisp.org>
43605
43606         * lib/gl_list.h: New file.
43607         * lib/gl_list.c: New file.
43608         * lib/gl_array_list.h: New file.
43609         * lib/gl_array_list.c: New file.
43610         * lib/gl_carray_list.h: New file.
43611         * lib/gl_carray_list.c: New file.
43612         * lib/gl_linked_list.h: New file.
43613         * lib/gl_linked_list.c: New file.
43614         * lib/gl_anylinked_list1.h: New file.
43615         * lib/gl_anylinked_list2.h: New file.
43616         * lib/gl_avltree_list.h: New file.
43617         * lib/gl_avltree_list.c: New file.
43618         * lib/gl_anyavltree_list1.h: New file.
43619         * lib/gl_anyavltree_list2.h: New file.
43620         * lib/gl_rbtree_list.h: New file.
43621         * lib/gl_rbtree_list.c: New file.
43622         * lib/gl_anyrbtree_list1.h: New file.
43623         * lib/gl_anyrbtree_list2.h: New file.
43624         * lib/gl_anytree_list1.h: New file.
43625         * lib/gl_anytree_list2.h: New file.
43626         * lib/gl_linkedhash_list.h: New file.
43627         * lib/gl_linkedhash_list.c: New file.
43628         * lib/gl_anyhash_list1.h: New file.
43629         * lib/gl_anyhash_list2.h: New file.
43630         * lib/gl_avltreehash_list.h: New file.
43631         * lib/gl_avltreehash_list.c: New file.
43632         * lib/gl_rbtreehash_list.h: New file.
43633         * lib/gl_rbtreehash_list.c: New file.
43634         * lib/gl_anytreehash_list1.h: New file.
43635         * lib/gl_anytreehash_list2.h: New file.
43636
43637         * lib/gl_oset.h: New file.
43638         * lib/gl_oset.c: New file.
43639         * lib/gl_array_oset.h: New file.
43640         * lib/gl_array_oset.c: New file.
43641         * lib/gl_avltree_oset.h: New file.
43642         * lib/gl_avltree_oset.c: New file.
43643         * lib/gl_rbtree_oset.h: New file.
43644         * lib/gl_rbtree_oset.c: New file.
43645         * lib/gl_anytree_oset.h: New file.
43646
43647 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43648
43649         * m4/mkancesdirs.m4: New file.
43650         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
43651         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
43652         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
43653         it.
43654
43655 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43656
43657         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
43658         * lib/mkancesdirs.h: New files.
43659         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
43660         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
43661         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
43662         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
43663         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
43664         callers changed.  Revamp internals significantly, by not
43665         attempting to create directories that are temporarily more
43666         permissive than the final results.  Do not attempt to use
43667         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
43668         This removes some race conditions, fixes some bugs, and simplifies
43669         things.  Use new dirchownmod function to do owner and mode changes.
43670         * lib/mkdir-p.h: Likewise.
43671         * lib/modechange.c (octal_to_mode): New function.
43672         (struct mode_change): New member mentioned.
43673         (make_node_op_equals): New arg mentioned.  All callers changed.
43674         (mode_compile): Keep track of which mode bits the user has explicitly
43675         mentioned.
43676         (mode_adjust): New arg DIR, so that we implement the X op correctly.
43677         New arg PMODE_BITS, to keep track of which mode bits the user
43678         mentioned; it treats S_ISUID and S_ISGID speciall.
43679         All callers changed.
43680         * lib/modechange.h: Likewise.
43681
43682 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43683
43684         * MODULES.html.sh: Add mkancestors.
43685         * modules/mkancesdirs: New module.
43686         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
43687         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
43688         The chdir-safer and afs files are now orphans; I'll remove them
43689         unless someone speaks up.
43690         Add lib/dirchownmod.c, lib/dirchownmod.h.
43691         (Depends-on): Remove alloca, chown, save-cwd, dirname.
43692         Add lchown, mkancesdirs.
43693         (Maintainer): Add self.
43694
43695 2006-07-15  Karl Berry  <karl@gnu.org>
43696
43697         * gnulib-tool: help message wording/arrangement.
43698
43699 2006-07-14  Simon Josefsson  <jas@extundo.com>
43700
43701         * doc/gnulib.texi (Libtool and Windows): New section.
43702
43703 2006-07-12  Simon Josefsson  <jas@extundo.com>
43704
43705         * modules/gendocs (License): Fix license, approved by Karl.
43706
43707 2006-07-12  Eric Blake  <ebb9@byu.net>
43708
43709         * MODULES.html.sh: Add gendocs.
43710
43711 2006-07-11  Eric Blake  <ebb9@byu.net>
43712
43713         * modules/fdl: New module, to install doc/fdl.texi.
43714         * MODULES.html.sh: Add new section for documentation modules.
43715         * gnulib-tool: Avoid space-tab.
43716         (--doc-base): New option, to manage files from doc.
43717
43718 2006-07-11  Eric Blake  <ebb9@byu.net>
43719
43720         * m4/absolute-header.m4: Fix comments to match recent change.
43721
43722 2006-07-11  Eric Blake  <ebb9@byu.net>
43723
43724         * gnulib-tool: List --doc-base before --tests-base.
43725
43726 2006-07-11  Derek R. Price  <derek@ximbiot.com>
43727
43728         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
43729
43730 2006-07-11  Bruno Haible  <bruno@clisp.org>
43731
43732         * README: Mention where to put documentation.
43733
43734 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43735
43736         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
43737
43738 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
43739
43740         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
43741         to stdint.m4.
43742
43743 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
43744
43745         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
43746         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
43747         "no/such/file/stdint.h" when there is no such file, so that
43748         the resulting C code can be parsed by dodgy compilers.
43749         Problems reported by Bob Proulx.
43750
43751 2006-07-10  Derek R. Price  <derek@ximbiot.com>
43752
43753         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
43754         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
43755         macros into the GNU _D_EXACT_NAMLEN.
43756         * lib/savedir.c:  Likewise.
43757         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
43758
43759 2006-07-10  Derek R. Price  <derek@ximbiot.com>
43760         and Paul Eggert  <eggert@cs.ucla.edu>
43761
43762         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
43763         * m4/savedir.m4:
43764         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
43765         macros into the GNU _D_EXACT_NAMLEN.
43766
43767 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43768
43769         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
43770         around the absolute name, to work around a problem with the HP-UX
43771         11.23 native C compiler, reported by Bob Proulx.
43772
43773 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43774
43775         * doc/maintain.texi, make-stds.texi: Sync from
43776         <http://savannah.gnu.org/projects/gnustandards>.
43777
43778 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43779
43780         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
43781
43782 2006-07-09  Jim Meyering  <jim@meyering.net>
43783
43784         * m4/glob.m4: Remove a doubled word in a comment.
43785
43786 2006-07-09  Jim Meyering  <jim@meyering.net>
43787
43788         * lib/argp-pv.c: Remove a doubled word in a comment.
43789         * lib/check-version.c (check_version): Likewise.
43790         * lib/javacomp.c (compile_java_class): Likewise.
43791
43792 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
43793
43794         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
43795         for the benefit of people using Autoconf 2.60.  If you want to
43796         support older Autoconf versions you can copy m4/onceonly_2_57.m4
43797         (or m4/onceonly.m4, if pre-2.57) manually.
43798
43799 2006-07-08  Jim Meyering  <jim@meyering.net>
43800
43801         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
43802         comment.
43803         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
43804         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
43805         comment.
43806
43807 2006-07-08  Jim Meyering  <jim@meyering.net>
43808
43809         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
43810
43811 2006-07-07  Simon Josefsson  <jas@extundo.com>
43812
43813         * tests/test-crc.c: Change expected crc value, the test vector
43814         were probably computed using the old broken crc.c?
43815
43816 2006-07-06  Simon Josefsson  <jas@extundo.com>
43817
43818         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
43819         now the canonical place for the M4 file).
43820
43821         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
43822         from the sys_socket dependency now.
43823
43824         * modules/inet_pton (Files): Ditto.
43825
43826         * modules/inet_ntop (Files): Ditto.
43827
43828 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43829
43830         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
43831         not gl_PREREQ_GETUSERSHELL.
43832
43833 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43834
43835         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
43836         with only one argument, for Autoconf 2.60.
43837         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
43838         expand to nothing, so add a shell command to avoid syntax error.
43839         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
43840
43841 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43842
43843         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
43844
43845 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43846
43847         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
43848         no longer needed.  Check for isblank decl.
43849         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
43850         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
43851         of existence.
43852
43853 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43854
43855         * lib/getloadavg.c: Use __VMS, not VMS.
43856         * lib/getopt.c: Likewise.
43857         * lib/getpagesize.h: Likewise.
43858         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
43859         and probably does not work.
43860
43861 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43862
43863         * lib/.cppi-disable: Add wcwidth.
43864         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
43865         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
43866         (ISGRAPH): Remove.  All uses changed to isgraph.
43867         (FOLD) [!defined _LIBC]: Remove special case.
43868         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
43869         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
43870         HAVE_ISBLANK.
43871         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
43872         case.
43873
43874 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
43875
43876         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
43877         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
43878         brackets.  Other minor changes to suppress some compiler
43879         warnings.
43880
43881 2006-07-06  Derek R. Price  <derek@ximbiot.com>
43882         and Paul Eggert  <eggert@cs.ucla.edu>
43883
43884         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
43885         of invoking obsolescent AC_HEADER_DIRENT macro.
43886         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
43887         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
43888         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
43889         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
43890         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
43891         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
43892         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
43893         * m4/readdir.m4: Remove; no longer needed.
43894
43895 2006-07-06  Derek R. Price  <derek@ximbiot.com>
43896         and Paul Eggert  <eggert@cs.ucla.edu>
43897
43898         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
43899         Don't worry about this obsolete case any more.
43900         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
43901         directories.
43902         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
43903         worry about this obsolete case any more.
43904         * lib/fts.c: Likewise.
43905         * lib/getcwd.c: Likewise.
43906         * lib/glob.h: Likewise.
43907         * lib/savedir.c: Likewise.
43908
43909 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
43910
43911         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
43912         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
43913         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
43914         needed.
43915         All uses removed.
43916         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
43917         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
43918         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
43919         needed.
43920         * m4/getdate.m4 (gl_GETDATE): Likewise.
43921         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
43922         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
43923         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
43924         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
43925         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
43926         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
43927         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
43928         needed.
43929
43930 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
43931
43932         * lib/memcasecmp.c: Include <limits.h>.
43933         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
43934         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
43935         Don't assume isdigit succeeds only on '0' through '9'.
43936
43937 2006-07-05  Eric Blake  <ebb9@byu.net>
43938
43939         * modules/getaddrinfo (Depends-on): Add snprintf.
43940
43941 2006-07-05  Eric Blake  <ebb9@byu.net>
43942
43943         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
43944         to avoid 'header present but could not be compiled' on cygwin.
43945
43946 2006-07-05  Eric Blake  <ebb9@byu.net>
43947
43948         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
43949         missing from netdb.h.
43950         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
43951
43952 2006-07-05  Derek R. Price  <derek@ximbiot.com>
43953
43954         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
43955         no longer needed.
43956         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
43957         * m4/getdate.m4 (gl_GETDATE): Likewise.
43958         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
43959         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
43960         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
43961         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
43962         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
43963
43964 2006-07-05  Derek R. Price  <derek@ximbiot.com>
43965
43966         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
43967         All uses of is_space replaced by isspace.
43968         * lib/exit.h: Don't talk about STDC_HEADERS.
43969         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
43970         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
43971         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
43972         replaced by isprint etc.
43973         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
43974         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
43975         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
43976         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
43977         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
43978         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
43979
43980 2006-07-05  Bruno Haible  <bruno@clisp.org>
43981
43982         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
43983         the function exists, before testing against AIX.
43984         Reported by Martin Lambers <marlam@marlam.de>.
43985
43986 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
43987
43988         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
43989         From Mark D. Baushke.
43990
43991 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
43992
43993         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
43994         to the absolute name, not just one, to bypass Sun C 5.8's
43995         "warning: #include of /usr/include/... may be non-portable".
43996
43997 2006-07-04  Eric Blake  <ebb9@byu.net>
43998
43999         * modules/dirname-tests: New test module.
44000         * tests/test-dirname.c: New file, replacing dirname.c
44001         TEST_DIRNAME section that was recently deleted.
44002
44003 2006-07-04  Bruno Haible  <bruno@clisp.org>
44004
44005         Assume ANSI C header files and <ctype.h> functions.
44006         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
44007         (mbsnwidth): Use isprint, iscntrl instead.
44008
44009 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44010
44011         Merge from coreutils.
44012         * MODULES.html.sh: Add xstrtold.
44013         * modules/xstrtold: New file.
44014         * modules/cycle-check (Files): Add lib/same-inode.h.
44015         * modules/dirname (Files): Add m4/double-slash-root.m4.
44016         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
44017         * modules/mkdir-p (Files): Add lib/same-inode.h.
44018         * modules/same (Files): Add lib/same-inode.h.
44019
44020 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44021
44022         * m4/absolute-header.m4: Renamed from full-header-path.m4.
44023         This is to keep the terminology clean; POSIX talks about
44024         "absolute pathnames", not "full pathnames", but the GNU
44025         Coding Standards say to use "path" for something else;
44026         so use "absolute" to keep both sides happy.
44027         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
44028         Set gl_absolute_header, not gl_full_header_path.
44029         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
44030         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
44031         All uses changed.
44032
44033         Merge from coreutils.
44034
44035         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
44036
44037         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
44038         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
44039         want to require the building of c-strtod.o.
44040         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
44041         needs -lm directly.
44042         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
44043
44044         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
44045
44046         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
44047         --as-needed option if available.  Problem reported by Albert Chin in
44048         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
44049         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
44050         cc merely issues a bunch of annoying warnings for --as-needed
44051         (this problem was reported by Bob Proulx).  Also, try linking with
44052         -lm to detect a bug in binutils 2.16 (this problem was reported
44053         by Ralf Wildenhues).
44054
44055         2006-06-18  Jim Meyering  <jim@meyering.net>
44056
44057         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
44058         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
44059         macro.
44060         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
44061         also check for glibc-2.4's abort-inducing bug.
44062
44063         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
44064         Low-probability clean-up should be to use rmdir to get rid of
44065         the just-created directory, not unlink.
44066
44067         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
44068         configure fail, and request a bug report to inform us about it.
44069         Add a comment that, barring reports to the contrary, in 2007 we'll
44070         assume ftruncate is universally available.
44071
44072         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
44073
44074         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
44075
44076         2006-03-12  Jim Meyering  <jim@meyering.net>
44077
44078         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
44079         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
44080         * m4/same.m4 (gl_SAME): Likewise.
44081         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
44082
44083         2006-03-11  Eric Blake  <ebb9@byu.net>
44084
44085         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
44086         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
44087         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
44088         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
44089
44090 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44091
44092         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
44093         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
44094         reported by Mark D. Baushke, one in
44095         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
44096
44097         Merge from coreutils.
44098
44099         * lib/.cppi-disable: Add stdint_.h.
44100         * lib/.cvsignore: Add stdint.h.
44101
44102         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
44103
44104         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
44105         both double and long double versions.
44106         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
44107         * lib/xstrtold.c: New file.
44108         * lib/xstrtod.h (xstrtold): New decl.
44109
44110         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
44111
44112         * lib/filemode.c (setst): Remove.
44113         (strmode): Rewrite to avoid setst.  This makes the code shorter,
44114         (arguably) clearer, and the generated code is a bit smaller on my
44115         Debian GNU/Linux stable x86 host.
44116
44117         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
44118
44119         * lib/filemode.c: Include "filemode.h" first, to test the interface.
44120         Assume that filemode.h includes sys/types.h and sys/stat.h.
44121         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
44122         (ftypelet): Reorder to put common cases first, for efficiency.
44123         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
44124         to do 'M'.
44125         (strmode): Renamed from mode_string, and now stores 12 bytes instead
44126         of 10, for compatibility with FreeBSD.  All callers changed.
44127         (filemodestring): Now stores 12 bytes instead of 10, and sets file
44128         types that can't be deduced solely from st_mode.  First arg is now a
44129         const pointer.
44130         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
44131         (strmode): Renamed from mode_string.
44132         (filemodestring): New decl.
44133         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
44134         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
44135         needed.
44136         (S_ISPORT, S_ISWHT): New macros, if not already defined.
44137
44138         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
44139
44140         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
44141         fsusage.h now does that.  Include fsusage.h first, to test interface.
44142         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
44143         at most one method (the old code could have generated decls that
44144         didn't conform to C89, not that this was ever exercised).
44145         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
44146
44147         2006-03-19  Jim Meyering  <jim@meyering.net>
44148
44149         Work even in a chroot where d_ino values for entries in "/"
44150         don't match the stat.st_ino values for the same names.
44151         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
44152         number, iterate through all entries again, using lstat instead.
44153         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
44154         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
44155
44156         * lib/getcwd.c (__getcwd): Clarify a comment.
44157         Use memcpy in place of a call to strcpy.
44158
44159         2006-03-12  Jim Meyering  <jim@meyering.net>
44160
44161         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
44162         matches that of the current directory (which we're about to chdir ".."
44163         out of), then save the dev-ino of the parent, instead.
44164
44165         * lib/same-inode.h (SAME_INODE): New file/macro.
44166         * lib/chdir-safer.c (SAME_INODE): Remove definition.
44167         Include "same-inode.h", instead.
44168         * lib/same.c: Likewise.
44169         * lib/cycle-check.h: Include "same-inode.h".
44170         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
44171         * lib/cycle-check.c (SAME_INODE): Remove definition.
44172         * lib/root-dev-ino.h: Include "same-inode.h".
44173
44174         2006-03-11  Eric Blake  <ebb9@byu.net>
44175
44176         * lib/same.c (same_name): s/base_name/last_component/
44177         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
44178         * lib/filenamecat.c (file_name_concat): Likewise.
44179
44180         2006-03-11  Eric Blake  <ebb9@byu.net>,
44181                     Paul Eggert  <eggert@cs.ucla.edu>
44182
44183         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
44184         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
44185         drive prefix.
44186         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
44187         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
44188         (last_component): New method.
44189         * lib/dirname.c (dir_len): Determine when drive letters need a
44190         subsequent slash.  Preserve // when it is special.
44191         (dir_name): Don't append dot when drive letter is absolute.
44192         [TEST_DIRNAME]: Move into a full-blown gnulib test.
44193         * lib/basename.c (base_name): New semantics - malloc the result.
44194         Preserve // when it is special.  Preserve relative files that look
44195         like drive letters.
44196         (base_len): Preserve // when it is special.
44197         (last_component): New method, similar to old base_name semantics.
44198         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
44199         base_name.  Strip redundant slashes from ///.
44200
44201 2006-07-03  Jim Meyering  <jim@meyering.net>
44202
44203         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
44204         macro is used before the first cycle_check call.
44205
44206 2006-07-03  Eric Blake  <ebb9@byu.net>
44207
44208         * modules/dirname (Depends-on): Add xstrndup.
44209
44210 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
44211
44212         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
44213         test cases, so that config.log is a bit easier to follow.
44214
44215 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
44216
44217         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
44218         both are 64 bits, since this seems to be the tradition, and this
44219         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
44220         we ever run into a host that prefers long long to long in this
44221         case, we'll need another configure-time test.  Problem reported by
44222         Jim Meyering.
44223
44224 2006-07-02  Eric Blake  <ebb9@byu.net>
44225
44226         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
44227
44228 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44229
44230         * modules/inttypes (Depends-on): No longer depends on stdint.
44231         * modules/stdint (Description): Say more about assumptions.
44232         Say that the fast types might differ.  Say macros are used.
44233         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
44234         (Makefile.am): Revise list of substituted symbols to match
44235         new stdint.m4.
44236         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
44237         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
44238         * tests/test-stdint.c (verify_same_types)
44239         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
44240         the code conforms to C99/C89.
44241         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
44242         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
44243
44244 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44245
44246         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
44247         but fix a bug, by requiring at least 64 bits.
44248         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
44249         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
44250         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
44251         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
44252
44253         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
44254         changes.  Make 2.59 a prerequisite.  Check and substitute for
44255         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
44256         inttypes.h.  Do not use special include files; just use the
44257         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
44258         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
44259         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
44260         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
44261         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
44262         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
44263         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
44264         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
44265         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
44266         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
44267         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
44268         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
44269         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
44270         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
44271         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
44272         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
44273         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
44274         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
44275         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
44276         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
44277         WINT_MAX.  Check for C99 conformance more strictly, by detecting
44278         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
44279         not check for things that C99 does not require, e.g., int8_t.  If
44280         a test isn't needed unless <stdint.h> isn't working, and is
44281         unlikely to be needed for any other reason, then don't do it
44282         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
44283         size_t, since we assume C89 freestanding at least.  Do not check
44284         for sig_atomic_t, wchar_t, or wint_t, since the code now does
44285         the right thing even if the types are not defined.  Instead use:
44286         (gl_STDINT_TYPE_PROPERTIES): New macro.
44287         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
44288         testing whether <sys/types.h> clashes, as Autoconf does this for
44289         us now.  All uses removed.
44290         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
44291         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
44292         (gl_CHECK_TYPE_SAME):
44293         Remove; no longer needed.
44294         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
44295         exists, since we'll return 0 anyway in that case.
44296         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
44297
44298 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44299
44300         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
44301         possible collision with system files.
44302         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
44303         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
44304         WCHAR_MIN and WCHAR_MAX in this case.
44305         (<stddef.h>): Do not include; no longer needed.
44306         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
44307         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
44308         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
44309         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
44310         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
44311         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
44312         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
44313         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
44314         !defined(__c99))]: Include in this case too, since it's harmless
44315         now.
44316         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
44317         dangerous to do so.
44318         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
44319         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
44320         (_STDINT_MIN, _STDINT_MAX): New macros.
44321         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
44322         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
44323         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
44324         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
44325         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
44326         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
44327         macros, not typedefs; this simplifies things quite a bit.
44328         Use long int for all types narrower than int64_t.
44329         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
44330         Define in terms of long long int or int64_t or long int,
44331         not int64_t or int32_t.  This saves some compile-time testing.
44332         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
44333         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
44334         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
44335         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
44336         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
44337         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
44338         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
44339         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
44340         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
44341         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
44342         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
44343         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
44344         undef any previous version and define our own version, for
44345         simplicity and consistency with the new macros for types.
44346         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
44347         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
44348         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
44349         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
44350         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
44351         @WINT_T_SUFFIX@ to keep things simple here.
44352         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
44353         Simplify by assuming typical 8/16/32/64 host, since we're
44354         already doing that elsewhere anyway.
44355         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
44356         and assume long long int is 64 bits if available.  This
44357         speeds up 'configure'.
44358
44359 2006-07-01  Eric Blake  <ebb9@byu.net>
44360
44361         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
44362         Reported by Andreas Buening.
44363
44364 2006-07-01  Eric Blake  <ebb9@byu.net>
44365
44366         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
44367
44368 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
44369
44370         * lib/getaddrinfo.c: fixed typo
44371
44372 2006-06-29  Jim Meyering  <jim@meyering.net>
44373
44374         * modules/strftime (Maintainer): Add my name, since with the
44375         FPRINTFTIME changes strftime.c has forked from glibc.
44376
44377 2006-06-29  Eric Blake  <ebb9@byu.net>
44378
44379         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
44380
44381 2006-06-29  Eric Blake  <ebb9@byu.net>
44382
44383         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
44384
44385 2006-06-29  Eric Blake  <ebb9@byu.net>
44386
44387         * lib/stat_.h: New file.
44388
44389 2006-06-29  Eric Blake  <ebb9@byu.net>
44390
44391         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
44392         unused static function.
44393
44394 2006-06-29  Eric Blake  <ebb9@byu.net>
44395
44396         * doc/functions.texi (Function Portability): Document missing lstat
44397         on mingw.
44398
44399 2006-06-29  Eric Blake  <ebb9@byu.net>
44400
44401         * MODULES.html.sh: Add sys_stat.
44402         * modules/sys_stat: New module.
44403         * modules/mkstemp (Depends-on): Add sys_stat.
44404
44405 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44406
44407         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
44408
44409 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44410
44411         * m4/c-bs-a.m4: Removed.
44412
44413 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44414
44415         * lib/strftime.c: Assume strftime() exists.
44416
44417 2006-06-29  Derek Price  <derek@ximbiot.com>
44418
44419         * modules/c-bs-a: Removed - \a is C89.
44420         * MODULES.html.sh: Remove c-bs-a.
44421
44422 2006-06-29  Bruno Haible  <bruno@clisp.org>
44423
44424         * modules/wcwidth (License): Change to LGPL.
44425
44426 2006-06-28  Simon Josefsson  <jas@extundo.com>
44427
44428         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
44429         on _WIN32.
44430
44431         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
44432         getnameinfo.
44433
44434 2006-06-28  Simon Josefsson  <jas@extundo.com>
44435
44436         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
44437
44438 2006-06-28  Simon Josefsson  <jas@extundo.com>
44439
44440         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
44441         functions there.  It will succeed on Windows XP, but on Windows
44442         2000 and (presumably) earlier, it will fail, and use the internal
44443         re-implementation.
44444         (use_win32_p): New function.
44445         (getaddrinfo): Use strtoul on servname, to support numeric ports.
44446         Support AI_NUMERICSERV to disable getservbyname.
44447         (getnameinfo): New function, only supports
44448         NI_NUMERICHOST|NI_NUMERICSERV for now.
44449
44450         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
44451         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
44452         getnameinfo.
44453
44454 2006-06-28  Eric Blake  <ebb9@byu.net>
44455
44456         * modules/wcwidth: New file.
44457         * modules/mbchar (Depends-on): Add wcwidth.
44458         * modules/mbswidth (Depends-on): Add wcwidth.
44459         * MODULES.html.sh: Add wcwidth.
44460
44461 2006-06-28  Eric Blake  <ebb9@byu.net>
44462
44463         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
44464         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
44465
44466 2006-06-28  Eric Blake  <ebb9@byu.net>
44467
44468         * lib/xvasprintf.h: Fix comments.
44469
44470 2006-06-28  Eric Blake  <ebb9@byu.net>
44471
44472         * lib/mbchar.h (wcwidth): Include wcwidth.h.
44473         * lib/mbswidth.c (wcwidth): Move from here...
44474         * lib/wcwidth.h: ...to this new file.
44475
44476 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44477
44478         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
44479
44480         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
44481         it's obsolete.
44482         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
44483
44484 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44485
44486         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
44487         Autoconf 2.60 says this stuff was obsolete.
44488
44489 2006-06-28  Bruno Haible  <bruno@clisp.org>
44490
44491         * modules/wcwidth (Files): Add m4/wchar_t.m4.
44492
44493 2006-06-28  Bruno Haible  <bruno@clisp.org>
44494
44495         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
44496         gt_TYPE_WCHAR_T.
44497
44498 2006-06-28  Bruno Haible  <bruno@clisp.org>
44499
44500         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
44501         declaration for wcwidth.
44502         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
44503
44504 2006-06-28  Bruno Haible  <bruno@clisp.org>
44505
44506         * lib/mkdtemp.c [MINGW]: Include <io.h>.
44507         (mkdir): Define using _mkdir.
44508
44509 2006-06-28  Bruno Haible  <bruno@clisp.org>
44510
44511         * lib/getaddrinfo.h: Fix POSIX URL.
44512         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
44513         _WIN32.
44514         (use_win32_p): Make static.
44515         (getaddrinfo): Reject service name if it is empty or does not consist
44516         solely of decimal digits, or if its value is > 65535.
44517         (getnameinfo): Remove useless casts.
44518
44519 2006-06-27  Simon Josefsson  <jas@extundo.com>
44520
44521         * modules/sys_select: New file, suggested by Bruno Haible, Paul
44522         Eggert and Martin Lambers.
44523
44524 2006-06-27  Simon Josefsson  <jas@extundo.com>
44525
44526         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
44527         Eggert and Martin Lambers.
44528
44529 2006-06-27  Bruno Haible  <bruno@clisp.org>
44530
44531         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
44532         result to 0, not to empty.
44533         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
44534
44535 2006-06-27  Bruno Haible  <bruno@clisp.org>
44536
44537         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
44538
44539 2006-06-26  Simon Josefsson  <jas@extundo.com>
44540
44541         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
44542         present.
44543
44544 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
44545
44546         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
44547         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
44548         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
44549
44550 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
44551
44552         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
44553
44554 2006-06-26  Bruno Haible  <bruno@clisp.org>
44555
44556         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
44557
44558 2006-06-26  Bruno Haible  <bruno@clisp.org>
44559
44560         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
44561
44562 2006-06-26  Bruno Haible  <bruno@clisp.org>
44563
44564         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
44565         SGI C compiler in pre-C99 mode.
44566         Suggested by Mark D. Baushke and Larry Jones.
44567
44568 2006-06-26  Bruno Haible  <bruno@clisp.org>
44569
44570         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
44571         WCHAR_MAX.
44572         Reported by Mark D. Baushke and Larry Jones.
44573
44574 2006-06-26  Bruno Haible  <bruno@clisp.org>
44575
44576         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
44577         in pre-C99 mode.
44578         Suggested by Mark D. Baushke and Larry Jones.
44579
44580 2006-06-23  Simon Josefsson  <jas@extundo.com>
44581             Bruno Haible  <bruno@clisp.org>
44582
44583         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
44584         Emit mostlyclean-local rule.
44585         (func_emit_tests_Makefile_am): Likewise.
44586         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
44587
44588 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
44589
44590         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
44591
44592 2006-06-23  Bruno Haible  <bruno@clisp.org>
44593
44594         * tests/test-stdint.c: Update to match ISO C 99 Technical
44595         Corrigendum 1.
44596
44597 2006-06-23  Bruno Haible  <bruno@clisp.org>
44598
44599         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
44600
44601 2006-06-23  Bruno Haible  <bruno@clisp.org>
44602
44603         * lib/stdint_.h: Treat IRIX like OpenBSD.
44604
44605 2006-06-23  Bruno Haible  <bruno@clisp.org>
44606
44607         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
44608         ISO C 99 Technical Corrigendum 1.
44609
44610 2006-06-22  Simon Josefsson  <jas@extundo.com>
44611
44612         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
44613         MinGW.
44614
44615 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
44616
44617         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
44618         needed.  Some compiler complained about some of them.  Problem reported
44619         by Larry Jones in
44620         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
44621
44622 2006-06-21  Simon Josefsson  <jas@extundo.com>
44623
44624         * tests/test-getaddrinfo.c: New file.
44625
44626         * modules/getaddrinfo-tests: New file.
44627
44628         * MODULES.html.sh: Add inet_pton.
44629
44630         * modules/inet_pton: New file.
44631
44632 2006-06-21  Simon Josefsson  <jas@extundo.com>
44633
44634         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
44635         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
44636         of using the (limited) gnulib implementation on Windows XP.
44637
44638         * m4/inet_pton.m4: New file.
44639
44640 2006-06-21  Simon Josefsson  <jas@extundo.com>
44641
44642         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
44643         variable.
44644
44645         * lib/socket_.h: Don't define WINVER.
44646
44647         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
44648         slightly modified to work in gnulib.
44649
44650 2006-06-21  Simon Josefsson  <jas@extundo.com>
44651
44652         * doc/gnulib.texi (Windows sockets): Add.
44653
44654 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
44655
44656         * lib/read-file.c (fread_file): Start with buffer allocation of
44657         0 bytes rather than 1 byte; this simplifies the code.
44658         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
44659         code to free buffer and save/restore errno.
44660         (internal_read_file): Remove unused local.
44661
44662 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
44663
44664         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
44665         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
44666         Problem reported by Denis Excoffier in
44667         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
44668
44669 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44670
44671         * modules/sys_socket, modules/socklen: Include sys/types since
44672         FreeBSD 4.x's sys/socket.h needs it.
44673
44674 2006-06-19  Simon Josefsson  <jas@extundo.com>
44675
44676         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
44677
44678 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
44679
44680         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
44681
44682 2006-06-19  Bruno Haible  <bruno@clisp.org>
44683
44684         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
44685         and FULL_PATH_INTTYPES_H in angle brackets.
44686         Reported by Mark D. Baushke <mdb@gnu.org>.
44687
44688 2006-06-17  Eric Blake  <ebb9@byu.net>
44689
44690         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
44691         errno.
44692
44693 2006-06-17  Bruno Haible  <bruno@clisp.org>
44694
44695         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
44696         <sys/inttypes.h>.
44697
44698 2006-06-17  Bruno Haible  <bruno@clisp.org>
44699
44700         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
44701         whether errno is declared. Assume <errno.h> declares errno.
44702
44703 2006-06-17  Bruno Haible  <bruno@clisp.org>
44704
44705         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
44706
44707 2006-06-17  Bruno Haible  <bruno@clisp.org>
44708
44709         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
44710         problem on Solaris 2.5.1.
44711
44712 2006-06-16  Eric Blake  <ebb9@byu.net>
44713
44714         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
44715         * lib/unicodeio.c [!defined errno]: Likewise.
44716         * lib/strtol.c [!defined errno]: Likewise.
44717         * lib/strtod.c [!defined errno]: Likewise.
44718
44719 2006-06-15  Eric Blake  <ebb9@byu.net>
44720
44721         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
44722
44723 2006-06-15  Eric Blake  <ebb9@byu.net>
44724
44725         * config/srclist.txt (ssize_t.m4): Lose sync.
44726
44727 2006-06-15  Bruno Haible  <bruno@clisp.org>
44728
44729         * modules/stdint (Files): Include m4/full-header-path.m4,
44730         m4/size_max.m4, m4/wchar_t.m4.
44731         (Makefile.am): Many more substitutions.
44732         * modules/stdint-tests: New file.
44733         * tests/test-stdint.c: New file.
44734
44735 2006-06-15  Bruno Haible  <bruno@clisp.org>
44736
44737         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
44738         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
44739         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
44740         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
44741         gl_CHECK_TYPE_SAME): New macros.
44742
44743 2006-06-15  Bruno Haible  <bruno@clisp.org>
44744
44745         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
44746
44747 2006-06-15  Bruno Haible  <bruno@clisp.org>
44748
44749         * lib/stdint_.h: Rewritten to be fully auto-configured.
44750         Fixes bug on HP-UX/IA64.
44751
44752 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
44753
44754         * lib/getdate.y (__attribute__): Don't define if already defined.
44755         Problem reported by Larry Jones.
44756         * lib/utimens.c (__attribute__): Likewise.
44757
44758 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
44759
44760         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
44761         reported by Andreas Schwab.
44762
44763 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44764             Bruno Haible  <bruno@clisp.org>
44765
44766         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
44767         check for the declaration of strnlen and a run test that exposes the
44768         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
44769         rpl_strndup.
44770
44771 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44772             Bruno Haible  <bruno@clisp.org>
44773
44774         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
44775
44776 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44777
44778         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
44779         compile test, for Tru64 4.0D.
44780
44781 2006-05-28  Karl Berry  <karl@gnu.org>
44782
44783         * config/srclist.txt (printf-args.c): lose sync.
44784
44785 2006-05-26  Martin Lambers  <marlam@marlam.de>
44786
44787         * lib/getpass.c: Updates the test for the native W32 API, and adds
44788         missing includes, thus fixing compilation warnings.
44789
44790 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44791
44792         * lib/exclude.c (exclude_fnmatch): New function.
44793         (excluded_file_name): Call exclude_fnmatch.
44794         * lib/exclude.h (excluded_file_name): New prototype
44795
44796 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
44797
44798         * lib/tempname.c (small_open, large_open): New macros.
44799         (__open, __open64) [!_LIBC]: Remove.
44800         (__gen_tempname): Use small_open and large_open instead of __open
44801         and __open64.  This fixes a portability bug on HP-UX 11.11i
44802         reported by Simon Wing-Tang in
44803         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
44804
44805 2006-05-24  Bruno Haible  <bruno@clisp.org>
44806
44807         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
44808         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
44809         Reported by Thorsten Maerz <torte@netztorte.de> via
44810         Aaron Stone <aaron@serendipity.cx>.
44811
44812 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44813
44814         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
44815         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
44816         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
44817         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
44818         not really conditional on the cache.
44819         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
44820
44821 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44822
44823         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
44824         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
44825         (my_usleep): Don't mishandle maximum value.
44826
44827 2006-05-19  Jim Meyering  <jim@meyering.net>
44828
44829         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
44830
44831 2006-05-17  Bruno Haible  <bruno@clisp.org>
44832
44833         Cygwin portability.
44834         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
44835
44836 2006-05-17  Bruno Haible  <bruno@clisp.org>
44837
44838         * lib/stdint_.h: Fix recognition of Cygwin.
44839
44840 2006-05-15  Bruno Haible  <bruno@clisp.org>
44841
44842         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
44843         on libtool patch by Ralf Wildenhues.
44844
44845 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44846
44847         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
44848         test for C99 conformance; (bool) 0.5 is an integer constant
44849         expression, but (bool) -0.5 is not.  Problem reported by Fedor
44850         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
44851
44852 2006-05-11  Simon Josefsson  <jas@extundo.com>
44853
44854         * m4/xvasprintf.m4: Fix obvious typo.
44855
44856 2006-05-11  Jim Meyering  <jim@meyering.net>
44857
44858         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
44859         James Lemley.
44860
44861 2006-05-10  Simon Josefsson  <jas@extundo.com>
44862
44863         * lib/md4.c: Typo fix, update copyright years.
44864         (K1, K2): Don't use L because it turn computations into 64-bit on
44865         64-bit platforms.
44866
44867 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
44868
44869         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
44870         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
44871         unwanted sign propagation, e.g., on hosts with 64-bit int.
44872         There still are some problems with reeelly weird theoretical hosts
44873         (e.g., 33-bit int) but it's not worth worrying about now.
44874         * lib/sha1.c (rol): Likewise.
44875         (K1, K2, K3, K4): Remove unnecessary L suffix.
44876
44877 2006-05-10  Bruno Haible  <bruno@clisp.org>
44878
44879         * lib/des.c: Cast to avoid warnings.
44880
44881 2006-05-09  Bruno Haible  <bruno@clisp.org>
44882
44883         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
44884         (Depends-on): Depend also on xsize, stdarg.
44885         (configure.ac): Add gl_XVASPRINTF.
44886
44887 2006-05-09  Bruno Haible  <bruno@clisp.org>
44888
44889         * m4/xvasprintf.m4: New file.
44890
44891 2006-05-09  Bruno Haible  <bruno@clisp.org>
44892
44893         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
44894         (EOVERFLOW): Define fallback value.
44895         (xstrcat): New function.
44896         (xvasprintf): Recognize the special case of a string concatenation.
44897
44898 2006-05-08  Eric Blake  <ebb9@byu.net>
44899
44900         * gnulib-tool (func_version): Base copyright year on CVS date.
44901         (func_emit_copyright_notice): New function.
44902         (func_emit_lib_Makefile_am): Use it.
44903         (func_emit_tests_Makefile_am): Likewise.
44904         (func_import): Likewise.
44905
44906 2006-05-08  Bruno Haible  <bruno@clisp.org>
44907
44908         * modules/stdarg: New file.
44909         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
44910
44911 2006-05-08  Bruno Haible  <bruno@clisp.org>
44912
44913         * m4/stdarg.m4: New file, from GNU gettext.
44914
44915 2006-05-08  Bruno Haible  <bruno@clisp.org>
44916
44917         * config/srclist.txt (build-aux/config.rpath): different from latest
44918         release.
44919
44920 2006-05-08  Bruno Haible  <bruno@clisp.org>
44921
44922         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
44923
44924 2006-05-05  Jim Meyering  <jim@meyering.net>
44925
44926         * m4/warning.m4: New file, derived from bison's file by the same name.
44927
44928 2006-05-03  Bruno Haible  <bruno@clisp.org>
44929
44930         * lib/stdint_.h: Shorter URL.
44931         * lib/inttypes.h: Likewise.
44932
44933 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44934
44935         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
44936
44937 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44938
44939         * lib/verify.h: Document the internals better.  Most of this change
44940         was written by Bruno Haible.
44941
44942 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44943
44944         * doc/verify.texi: New file, partly based on a proposal by
44945         Bruno Haible.
44946
44947 2006-05-02  Bruno Haible  <bruno@clisp.org>
44948
44949         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
44950         test from here...
44951         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
44952
44953 2006-04-29  Bruno Haible  <bruno@clisp.org>
44954
44955         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
44956         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
44957
44958 2006-04-29  Bruno Haible  <bruno@clisp.org>
44959
44960         * gnulib-tool: Make --update option actually work.
44961
44962 2006-04-29  Bruno Haible  <bruno@clisp.org>
44963
44964         * doc/gcd.texi: New file.
44965         * doc/gnulib.texi: Include it.
44966
44967 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
44968
44969         * lib/getdate.y (get_date): When adding relative date, start with the
44970         initial time, not with the result of the first mktime call.
44971
44972 2006-04-25  Bruno Haible  <bruno@clisp.org>
44973
44974         * gnulib-tool (func_import): Output the include directives in three
44975         blocks, sorted separately.
44976         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44977
44978 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
44979
44980         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
44981         to define main with arguments, for C++.  Reported by Eric Blake.
44982         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
44983         Prefer 'int main ()' to 'int main (void)', for C++.
44984         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
44985         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
44986         for 'main', for C99 and C++.
44987
44988 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
44989
44990         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
44991         Don't assume that exit status -1 is valid.
44992         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44993         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
44994         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
44995         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
44996         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
44997         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
44998         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
44999         functions can be used without declaring them, or that you can
45000         exit with status -1.
45001         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45002
45003 2006-04-24  Karl Berry  <karl@gnu.org>
45004
45005         * config/srclist.txt (longdouble.m4): sync lost.
45006
45007 2006-04-24  Eric Blake  <ebb9@byu.net>
45008
45009         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
45010
45011 2006-04-24  Bruno Haible  <bruno@clisp.org>
45012
45013         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
45014         poll() implementation in AIX.
45015         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45016
45017 2006-04-24  Bruno Haible  <bruno@clisp.org>
45018
45019         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
45020         assigned exactly once.
45021
45022 2006-04-23  Claudio Fontana  <claudio@gnu.org>
45023             Bruno Haible  <bruno@clisp.org>
45024
45025         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
45026         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
45027         for AM_CPPFLAGS.
45028
45029 2006-04-23  Bruno Haible  <bruno@clisp.org>
45030
45031         * modules/copy-file: Depend on unistd.
45032         * modules/execute: Likewise.
45033         * modules/fatal-signal: Likewise.
45034         * modules/findprog: Likewise.
45035         * modules/mkdtemp : Likewise.
45036         * modules/pipe: Likewise.
45037         * modules/wait-process: Likewise.
45038
45039 2006-04-23  Bruno Haible  <bruno@clisp.org>
45040
45041         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
45042         condition was already detected.
45043         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45044
45045 2006-04-23  Bruno Haible  <bruno@clisp.org>
45046
45047         * lib/copy-file.c: Include <unistd.h> unconditionally.
45048         * lib/execute.c: Likewise.
45049         * lib/fatal-signal.c: Likewise.
45050         * lib/findprog.c: Likewise.
45051         * lib/mkdtemp.c: Likewise.
45052         * lib/pipe.h: Likewise.
45053         * lib/pipe.c: Likewise.
45054         * lib/wait-process.h: Likewise.
45055
45056 2006-04-23  Bruno Haible  <bruno@clisp.org>
45057
45058         * gnulib-tool (func_usage): Fix --import description. Document
45059         --update.
45060         (func_import): Create temporary file in a temporary directory, if
45061         --dry-run is specified. Silence errors from 'grep' when there are no
45062         m4 files in $m4dir.
45063         (func_create_testdir): Silence errors from 'grep' when there are no
45064         m4 files in $m4dir.
45065         Reported by Karl Berry <karl@freefriends.org>.
45066
45067 2006-04-20  Bruno Haible  <bruno@clisp.org>
45068
45069         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
45070         one argument, so that the code will be portable to Autoconf 2.60.
45071         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
45072         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
45073         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
45074
45075 2006-04-19  Derek Price  <derek@ximbiot.com>
45076             Eric Blake  <ebb9@byu.net>
45077
45078         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
45079         rather than "/full/path.h".  Update comment to match.  Shorten &
45080         generalize m4_translit call via AS_TR_CPP.
45081
45082 2006-04-19  Derek Price  <derek@ximbiot.com>
45083             Eric Blake  <ebb9@byu.net>
45084
45085         * lib/inttypes.h: Correct grammar in comment.
45086
45087 2006-04-18  Derek Price  <derek@ximbiot.com>
45088             Paul Eggert  <eggert@cs.ucla.edu>
45089
45090         * modules/inttypes: New file.
45091         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
45092
45093 2006-04-18  Derek Price  <derek@ximbiot.com>
45094             Paul Eggert  <eggert@cs.ucla.edu>
45095
45096         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
45097         New files.
45098
45099 2006-04-18  Derek Price  <derek@ximbiot.com>
45100             Paul Eggert  <eggert@cs.ucla.edu>
45101
45102         * lib/inttypes.h: New file.
45103         * lib/strtoimax.c: Assume <inttypes.h>.
45104
45105 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
45106
45107         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
45108         isn't mounted.  Problem reported by Kir Kolyshkin.
45109
45110 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
45111
45112         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
45113         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
45114         Derek R. Price.
45115         * lib/regex.h (RE_DUP_MAX): Update comment to match current
45116         implementation.
45117
45118 2006-04-12  Eric Blake  <ebb9@byu.net>
45119
45120         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
45121         is now done automatically by the corresponding Autoconf macro.
45122
45123 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
45124
45125         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
45126         time_r.h.
45127
45128 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45129
45130         Merge regex changes from libc, removing some of our
45131         POSIX-conformance changes that were rejected and redoing them in a
45132         less-intrusive way.
45133
45134         * lib/regcomp.c (re_compile_internal, init_dfa):
45135         Length arg is now size_t, not Idx.  All uses changed.
45136         (peek_token): Forward decl now says internal_function.
45137         (__re_error_msgid, __re_error_msgid_idx):
45138         Now static rather than extern with attribute_hidden.
45139         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
45140         For some reason libc prefers K&R style defns for external functions.
45141         (regerror) [!defined _LIBC]: Likewise.
45142         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
45143         (seek_collating_symbol_entry, lookup_collation_sequence_value):
45144         (build_range_exp, build_collating_symbol):
45145         Use K&R-style defn.
45146         (re_compile_fastmap): Use '\0' to memset, not 0.
45147         (utf8_sb_map): Make the calculations more obvious.
45148         (init_dfa, parse_bracket_exp, build_charclass_op):
45149         Call calloc and cast result, as glibc does.
45150         (init_word_char, fetch_token, peek_token, peek_token_bracket):
45151         (build_range_exp, build_collating_symbol):
45152         Now internal functions.
45153
45154         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
45155
45156         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
45157         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
45158         Don't depend on VMS; depend on __VMS instead, for POSIX
45159         namespace cleanness.
45160         (regoff_t): Define to ssize_t, not long int.
45161
45162         Remove the REG_ macros named below.  Instead, make the old names
45163         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
45164         __USE_GNU_REGEX.
45165         (REG_BACKSLASH_ESCAPE_IN_LISTS):
45166         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
45167         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
45168         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
45169         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
45170         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
45171         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
45172         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
45173         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
45174         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
45175         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
45176         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
45177         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
45178         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
45179         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
45180         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
45181         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
45182         (REG_NREGS):
45183         Remove.  All uses replaced by the old RE_* names.
45184         (RE_BACKSLASH_ESCAPE_IN_LISTS):
45185         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
45186         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
45187         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
45188         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
45189         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
45190         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
45191         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
45192         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
45193         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
45194         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
45195         Don't bother having these macros be independent of each others'
45196         values, since they no longer exist in the POSIX name space.
45197
45198         Rename the following member names back to their old names,
45199         unless !__USE_GNU_REGEX.  All uses changed back.
45200         (buffer): Renamed from re_buffer.
45201         (allocated): Renamed from re_allocated.
45202         (used): Renamed from re_used.
45203         (syntax): Renamed from re_syntax.
45204         (fastmap): Renamed from re_fastmap.
45205         (translate): Renamed from re_translate.
45206         (can_be_null): Renamed from re_can_be_null.
45207         (regs_allocated): Renamed from re_regs_allocated.
45208         (fastmap_accurate): Renamed from re_fastmap_accurate.
45209         (no_sub): Renamed from re_no_sub.
45210         (not_bol): Renamed from re_not_bol.
45211         (not_eol): Renamed from re_not_eol.
45212         (newline_anchor): Renamed from re_newline_anchor.
45213         (num_regs): Renamed from rm_num_regs.
45214         (start): Renamed from rm_start.
45215         (end): Renamed from rm_end.
45216
45217         (free_state): Move up a bit.
45218
45219         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
45220         #define to be empty.
45221         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
45222         when that is what is intended.
45223         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
45224         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
45225         (MAX): New macro.
45226         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
45227         All uses changed back to re_malloc, etc.  It's now the caller's
45228         responsibility to check for overflow; all callers changed.
45229         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
45230         (re_x2nrealloc): Remove.
45231         (free_state): Remove decl.
45232
45233         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
45234         (re_set_registers, re_exec):
45235         Use K&R-style defn.
45236
45237         2006-01-31  Roland McGrath  <roland@redhat.com>
45238
45239         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
45240         Reported by Mike Frysinger <vapier@gentoo.org>.
45241
45242         2006-01-15  Andreas Jaeger  <aj@suse.de>
45243
45244         [BZ #1950]
45245         * lib/regex_internal.c (re_string_reconstruct): Adjust for
45246         build_wcs_upper_buffer change.
45247         (build_wcs_upper_buffer): Change return type.
45248
45249         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
45250
45251         * lib/regex_internal.h: Include <stdint.h> if available.
45252
45253         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
45254
45255         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
45256
45257         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
45258
45259         * lib/regcomp.c: Adjust for changed secondary hash function.
45260
45261         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
45262
45263         * lib/regex.h: Pretty printing.
45264         Clean up namespace a bit.
45265
45266         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
45267
45268         * lib/regexec.c (update_cur_sifted_state, check_arrival,
45269         check_arrival_add_next_nodes): Avoid using uninitialized variable.
45270
45271         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45272                     Ulrich Drepper  <drepper@redhat.com>
45273
45274         [BZ #1302]
45275         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
45276         changed.
45277         (bitset_word_t): Renamed from bitset_word.  All uses changed.
45278
45279         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
45280
45281         [BZ #281]
45282         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
45283         * lib/regcomp.c: Remove unnecessary uses of
45284         unsigned RE_TRANSLATE_TYPE.
45285         * lib/regex_internal.h: Likewise.
45286         * lib/regex_internal.c: Likewise.
45287         * lib/regexec.c: Likewise.
45288         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
45289
45290         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
45291
45292         * lib/regexec.c (find_recover_state): Remove unnecessary
45293         initialization.
45294         (transit_state_bkref): Make DFA a const pointer.
45295         (get_subexp): Likewise.
45296         (check_arrival): Likewise.
45297         (update_cur_sifted_state): Likewise.
45298         (re_search_internal): Likewise.
45299         (prune_impossible_nodes): Likewise.
45300         (acquire_init_state_context): Likewise.
45301         (proceed_next_node): Likewise.
45302         (set_regs): Likewise.
45303         (free_fail_stack_return): Likewise.
45304         (check_arrival_expand_ecl): Mark DFA parameter as const.
45305         (check_arrival_expand_ecl_sub): Likewise.
45306         (check_subexp_limits): Likewise.
45307         (sub_epsilon_src_nodes):  Likewise.
45308         (add_epsilon_src_nodes):  Likewise.
45309         (merge_state_array): Likewise.
45310         (update_regs): Likewise.
45311         (build_trtable): Likewise.
45312         (sift_states_backward): Mark MCTX parameter as const.
45313         (build_sifted_states): Likewise.
45314         (update_cur_sifted_state): Likewise.
45315         (sift_states_mkref): Likewise.
45316         (check_arrival_expand_ecl): Mark eclosure as const.
45317         (check_dst_limits_calc_pos_1): Likewise.
45318         * lib/regex_internal.h (re_match_context_t): Make dfa a const
45319         pointer.
45320
45321         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
45322
45323         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
45324         (transit_state_sb): Likewise.
45325         (transit_state_mb): Likewise.
45326         (sift_states_iter_mb): Likewise.
45327         (check_arrival_add_next_nodes): Likewise.
45328         (check_node_accept_bytes): Change first parameter to pointer-to-const.
45329         [_LIBC] (re_search_2_stub): Use mempcpy.
45330
45331         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
45332         mbrtowc for very simple UTF-8 case.
45333
45334         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
45335         a pointer-to-const.
45336         (re_acquire_state_context): Likewise.
45337         * lib/regex_internal.h: Adjust prototypes.
45338
45339         * lib/regex.c: Prevent using C++ compilers.
45340
45341         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
45342         (re_acquire_state_context): Likewise.
45343
45344 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45345
45346         * modules/regex (Depends-on): Add ssize_t.
45347
45348 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45349
45350         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
45351         translation table.
45352
45353 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45354
45355         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
45356
45357 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
45358             Bruno Haible  <bruno@clisp.org>
45359
45360         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
45361         <sys/types.h> and <inttypes.h>.
45362
45363 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45364
45365         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
45366         `__error_t_defined', so argp.h will not typedef the former.
45367
45368 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45369
45370         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
45371         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
45372         glibc names.  Even if glibc is changed to conform to POSIX, the
45373         traditional names will be available anyway, since regex depends on
45374         the extensions module.  Also, fix a longstanding typo in the
45375         implementation of Spencer ERE test #75 from grep 2.3.  Problems
45376         reported by Emanuele Giaquinta.  Also, change sense of cached
45377         variable, so that the message makes sense.
45378
45379 2006-03-24  Simon Josefsson  <jas@extundo.com>
45380
45381         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
45382         including some doc fixes.
45383         (base64_encode_alloc): Fix +1 bug on allocation failures.
45384
45385 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45386
45387         * lib/base64.c (base64_encode): Do not read past end of array with
45388         unsanitized input on systems with CHAR_BIT > 8.
45389
45390 2006-03-24  Eric Blake  <ebb9@byu.net>
45391
45392         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
45393
45394 2006-03-22  Karl Berry  <karl@gnu.org>
45395
45396         * config/srclist.txt (*setenv.[ch]): get from coreutils.
45397         * config/srclistvars.sh (COREUTILS): new var.
45398
45399 2006-03-17  Jim Meyering  <jim@meyering.net>
45400
45401         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
45402         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
45403
45404 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
45405
45406         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
45407         no longer needs it.  Instead, check that regoff_t is as least
45408         as wide as ptrdiff_t.
45409
45410         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
45411         so that our regex.h stays compatible with the installed regex.
45412         This is helpful for installers who configure --without-included-regex.
45413         Problem reported by Emanuele Giaquinta.
45414
45415 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
45416
45417         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
45418         Typedef to long int, not to off_, as POSIX will likely change
45419         in that direction.
45420
45421 2006-03-15  Eric Blake  <ebb9@byu.net>
45422
45423         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
45424
45425 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
45426
45427         * lib/argp-help.c (validate_uparams): Fix typo
45428         * lib/argp-parse.c (argp_default_options): Consistently begin help
45429         messages with a lowercase letter.
45430
45431 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
45432
45433         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
45434         overrun buffers and shouldn't be used (much as gets shouldn't be
45435         used).
45436         * lib/time_r.c (asctime_r, ctime_r): Likewise.
45437
45438 2006-03-08  Simon Josefsson  <jas@extundo.com>
45439
45440         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
45441         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45442
45443 2006-03-08  Simon Josefsson  <jas@extundo.com>
45444
45445         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
45446         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45447
45448 2006-03-08  Simon Josefsson  <jas@extundo.com>
45449
45450         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
45451         signal that configure disabled the device.
45452
45453 2006-03-08  Simon Josefsson  <jas@extundo.com>
45454
45455         * build-aux/maint.mk: Fix refresh-po, to handle no translated
45456         languages.
45457
45458 2006-03-07  Simon Josefsson  <jas@extundo.com>
45459
45460         * modules/getopt (Depends-on): Add unistd.
45461
45462         * modules/unistd: New file.
45463
45464 2006-03-07  Simon Josefsson  <jas@extundo.com>
45465
45466         * modules/gc-random: New file.
45467
45468 2006-03-07  Simon Josefsson  <jas@extundo.com>
45469
45470         * m4/unistd_h.m4: New file.
45471
45472 2006-03-07  Simon Josefsson  <jas@extundo.com>
45473
45474         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
45475         test to be side-effect free by storing the result in the cache
45476         variable gl_cv_lib_readline, and moving the assignment of
45477         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
45478         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45479
45480 2006-03-07  Simon Josefsson  <jas@extundo.com>
45481
45482         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
45483         error on missing devices (the functions will return an error).
45484
45485         * m4/gc.m4: Move random stuff to gc-random.m4
45486
45487 2006-03-07  Simon Josefsson  <jas@extundo.com>
45488
45489         * lib/unistd_.h: New file.
45490
45491 2006-03-07  Simon Josefsson  <jas@extundo.com>
45492
45493         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
45494
45495 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45496
45497         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
45498         Problem reported by Juan Manuel Guerrero.
45499
45500 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45501
45502         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
45503         the unistd module.
45504         * lib/getlogin_r.c: Likewise.
45505         * lib/getlogin_r.h: Likewise.
45506         * lib/glob.c: Likewise.
45507         * lib/pagealign_alloc.c: Likewise.
45508         * lib/unistd_.h: Remove; no longer needed.
45509
45510 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45511
45512         * MODULES.html.sh (Support for systems lacking POSIX:2001):
45513         Add unistd.
45514         * modules/c-stack (Depends-on): Add unistd.
45515         * modules/getlogin_r: Likewise.
45516         * modules/glob: Likewise.
45517         * modules/pagealign_alloc: Likewise.
45518         * modules/unistd (Files): Remove lib/unistd_.h.
45519         (EXTRA_DIST): Remove.
45520         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
45521         need unistd_.h.
45522         (MOSTLYCLEANFILES): Remove unistd.h-t.
45523
45524 2006-03-03  Simon Josefsson  <jas@extundo.com>
45525
45526         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
45527
45528 2006-03-03  Simon Josefsson  <jas@extundo.com>
45529
45530         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
45531         libidn and bison.
45532
45533 2006-03-03  Simon Josefsson  <jas@extundo.com>
45534
45535         * build-aux/maint.mk: Add indent target.
45536
45537 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
45538
45539         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
45540         our replacement poll.h in any case, to avoid a differing
45541         declaration from a system header.  Seen on AIX.
45542
45543 2006-03-01  Simon Josefsson  <jas@extundo.com>
45544
45545         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
45546         <kasal@ucw.cz>.
45547
45548 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45549
45550         * modules/gettime (Depends-on): Add extensions module.
45551         * modules/nanosleep (Depends-on): Likewise.
45552         * modules/settime (Depends-on): Likewise.
45553
45554 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45555
45556         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
45557         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
45558         pedantically.
45559         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45560         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
45561
45562         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
45563         not "==".  Reported by Ralf Wildenhues.
45564
45565 2006-03-01  Karl Berry  <karl@gnu.org>
45566
45567         * doc/Copyright/request-*: new files, synced from gnuorg.
45568
45569 2006-03-01  Karl Berry  <karl@gnu.org>
45570
45571         * config/srclist.txt (Copyright/*): new entries.
45572
45573 2006-02-28  Simon Josefsson  <jas@extundo.com>
45574
45575         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
45576
45577 2006-02-27  Simon Josefsson  <jas@extundo.com>
45578
45579         * lib/base64.h: Indent #define's.  From Jim Meyering
45580         <jim@meyering.net>.
45581
45582 2006-02-27  Jim Meyering  <jim@meyering.net>
45583
45584         Revert the change of 2006-02-24, so these files can continue
45585         to be sync'd from gettext.
45586         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
45587         of `config.h'.
45588
45589 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
45590
45591         * modules/intprops: New file.
45592         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
45593         Add intprops.
45594         * modules/getloadavg (Files): Remove lib/intprops.h.
45595         (Depends-on): Add intprops.
45596         * modules/human: Likewise.
45597         * modules/inttostr: Likewise.
45598         * modules/openat: Likewise.
45599         * modules/sig2str: Likewise.
45600         * modules/userspec: Likewise.
45601         * modules/utimecmp: Likewise.
45602         * modules/xnanosleep: Likewise.
45603         * modules/xstrtol: Likewise.
45604
45605 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
45606
45607         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
45608         * modules/lock-tests (TESTS): Use $(EXEEXT).
45609         * modules/tls-tests: Likewise.
45610         * modules/argp-tests: Likewise.
45611         (check_PROGRAMS): New var, replacing...
45612         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
45613
45614 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45615
45616         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
45617         `config.h'.
45618
45619 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
45620
45621         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
45622
45623 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45624
45625         Sync from coreutils.
45626         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
45627         gl_CHDIR_SAFER.
45628
45629 2006-02-22  Jim Meyering  <jim@meyering.net>
45630
45631         Sync from coreutils.
45632         * m4/chdir-safer.m4: New file.
45633
45634 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
45635
45636         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
45637         AT_FDCWD exceeds INT_MAX.
45638         * lib/openat.h (AT_FDCWD): Likewise.
45639
45640 2006-02-17  Eric Blake  <address@hidden>
45641
45642         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
45643
45644 2006-02-16  Simon Josefsson  <jas@extundo.com>
45645
45646         * modules/getaddrinfo (Depends-on): Add sys_socket.
45647
45648 2006-02-15  Simon Josefsson  <jas@extundo.com>
45649
45650         * build-aux/maint.mk: Add dsyntax-check rule.
45651
45652 2006-02-15  Eric Blake  <ebb9@byu.net>
45653
45654         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
45655         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
45656         'present but cannot compile' warnings on cygwin.
45657         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
45658         use ws2tcpip.h if sys/socket.h works.
45659         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
45660         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
45661
45662 2006-02-14  Simon Josefsson  <jas@extundo.com>
45663
45664         * modules/maintainer-makefile (Files): Rename.
45665
45666         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
45667         and (the local) Makefile.cfg to maint-cfg.mk.
45668
45669         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
45670         to the latter.
45671
45672         * modules/maintainer-makefile: New module.
45673
45674         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
45675         severaly stripped to make it possible to build it up from scratch
45676         with reliable tests.
45677
45678         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
45679         fixes to permit overriding the default actions when configure and
45680         makefile are not available.
45681
45682 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
45683
45684         Sync from coreutils.
45685         * modules/lstat (Depends-on): Don't depend on xalloc.
45686         (License): Change from GPL to LGPL, since this is now simply a
45687         replacement for a libc function.
45688
45689 2006-02-14  Jim Meyering  <jim@meyering.net>
45690
45691         Sync from coreutils.
45692
45693         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
45694         failure on deficient systems, and simplify gnulib lgpl dependencies.
45695         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
45696         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
45697
45698         * lib/xalloc-die.c: Remove unused definition of N_.
45699
45700 2006-02-14  Jim Meyering  <jim@meyering.net>
45701
45702         Sync from coreutils.
45703         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
45704         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
45705         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
45706         double-quote uses of that variable, to accommodate the rare case in
45707         which getmntent is available in none of the libraries checked.  This
45708         happens at least on FreeBSD 5.0.
45709
45710 2006-02-13  Simon Josefsson  <jas@extundo.com>
45711
45712         * gnulib-tool (Usage): Fix --import, from
45713         karl@freefriends.org (Karl Berry).
45714
45715 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
45716
45717         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
45718
45719 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
45720
45721         * lib/argp-namefrob.h: Restore changes accidentally lost during the
45722         "autoupdate" on 2005-12-12.
45723
45724 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
45725
45726         * modules/closeout (Depends-on): Remove atexit.
45727
45728 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
45729
45730         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
45731         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
45732
45733 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
45734
45735         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
45736         __EXTENSIONS__ if this causes compilation to fail.  Problem
45737         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
45738         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
45739
45740 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
45741
45742         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
45743         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
45744         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
45745         All uses changed.
45746
45747 2006-01-26  Simon Josefsson  <jas@extundo.com>
45748
45749         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
45750         prototype is visible on mingw32.
45751
45752         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
45753         for mingw32.
45754
45755         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
45756         mingw32).
45757
45758 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
45759
45760         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
45761         attempt to open for write; this always fails, at least on POSIX
45762         hosts.  This reinstates the 2006-01-09 change, which was
45763         inadvertently removed.
45764
45765 2006-01-26  Bruno Haible  <bruno@clisp.org>
45766
45767         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
45768         Reported by Paul Eggert.
45769
45770 2006-01-26  Bruno Haible  <bruno@clisp.org>
45771             Paul Eggert  <eggert@cs.ucla.edu>
45772
45773         * lib/stdbool_.h (_Bool)
45774         [(! (defined __cplusplus || defined __BEOS__)
45775           && !defined __GNUC__
45776           && !(defined __HP_cc || defined __xlc__
45777                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
45778                || defined __sgi))]:
45779         #define to signed char in these cases too; this simplifies
45780         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
45781         etc., separately) and makes it more conservative.
45782
45783 2006-01-25  Simon Josefsson  <jas@extundo.com>
45784
45785         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
45786         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
45787         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
45788
45789 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45790
45791         * lib/argp-namefrob.h: Bugfix. Remove stray #
45792
45793 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
45794
45795         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
45796         so that we test the test.
45797         Check for yet another HP-UX cc bug involving *bool |= bool.
45798
45799 2006-01-25  Karl Berry  <karl@gnu.org>
45800
45801         * config/srclist.txt (vasnprintf.c): sync lost.
45802
45803 2006-01-25  Jim Meyering  <jim@meyering.net>
45804
45805         Sync from the stable (b5) branch of coreutils:
45806
45807         * lib/fts.c (fts_children): Don't let close() clobber errno from
45808         failed fchdir().
45809
45810         * lib/fts.c (fts_stat): When following a symlink-to-directory,
45811         don't necessarily interpret stat-fails+lstat-succeeds as indicating
45812         a dangling symlink.  That can also happen at least for ELOOP.
45813         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
45814         FYI, this bug predates the inclusion of fts.c in coreutils.
45815
45816         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
45817         in their own block, so pre-c99 compilers don't object.
45818
45819         Avoid the double-free (first in fts_read, second in fts_close) that
45820         would occur when an `active' directory is made inaccessible (e.g.,
45821         via chmod a-x) during a traversal.
45822         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
45823         before returning.  Reproduce this failure by
45824         mkdir -p a/b; cd a; chmod a-x . b
45825         Reported by Stavros Passas.
45826
45827 2006-01-25  Jim Meyering  <jim@meyering.net>
45828
45829         * lib/fileblocks.c: Remove more useless parentheses.
45830         * lib/readutmp.h: Likewise.
45831
45832 2006-01-25  Bruno Haible  <bruno@clisp.org>
45833
45834         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
45835         warnings.
45836         Reported by Paul Eggert.
45837
45838 2006-01-25  Bruno Haible  <bruno@clisp.org>
45839
45840         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
45841         rid of a trap command. For Solaris sh.
45842         Reported by Mark D. Baushke <mdb@gnu.org>.
45843
45844 2006-01-24  Simon Josefsson  <jas@extundo.com>
45845
45846         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
45847         Bruno.
45848
45849 2006-01-24  Karl Berry  <karl@gnu.org>
45850
45851         * config/srclist.txt (argp-namefrob.h): sync lost.
45852
45853 2006-01-24  Jim Meyering  <jim@meyering.net>
45854
45855         * modules/openat (Files): Add lib/intprops.h.
45856         From Mark D. Baushke.
45857
45858 2006-01-24  Jim Meyering  <jim@meyering.net>
45859
45860         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
45861         Reported by Mark D. Baushke.
45862
45863 2006-01-24  Jim Meyering  <jim@meyering.net>
45864
45865         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
45866
45867 2006-01-24  Bruno Haible  <bruno@clisp.org>
45868
45869         * modules/strnlen (Maintainer): Change from glibc to all.
45870
45871 2006-01-24  Bruno Haible  <bruno@clisp.org>
45872
45873         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
45874         Patch by Paul Eggert.
45875
45876 2006-01-24  Bruno Haible  <bruno@clisp.org>
45877
45878         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
45879         already has it.
45880         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
45881         2005-11-26.
45882
45883         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
45884         'signed char' to avoid problems with the built-in _Bool type.
45885         Reported by Paul Eggert on 2005-11-26.
45886
45887 2006-01-24  Bruno Haible  <bruno@clisp.org>
45888
45889         * gnulib-tool (func_import): Avoid constructing complicated sed
45890         expressions inside backquote.
45891         Report and solution by Mark D. Baushke <mdb@gnu.org>.
45892
45893 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
45894
45895         These changes imported from libc.
45896         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
45897         test and two separate function calls.
45898         * lib/strndup.c (__strndup): Add libc_hidden_def.
45899
45900 2006-01-23  Simon Josefsson  <jas@extundo.com>
45901
45902         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
45903         Remove the test_*_SOURCES variable: automake infers it by default.
45904         * modules/tls-tests: Likewise.
45905
45906 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45907
45908         Work around porting bugs reported by Dieter in
45909         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
45910         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
45911         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
45912         Include "getopt.h" first, to check interface.
45913         (getenv): Declare only if defined HAVE_DECL_GETENV &&
45914         !HAVE_DECL_GETENV.
45915         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
45916         (__strndup): Revert to K&R-style function dfns, the glibc style.
45917         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
45918         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
45919         Include strnlen.h first, to get prototype properly.
45920         (strnlen): Renamed from __strnlen.
45921         Remove weak alias.
45922
45923 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45924
45925         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
45926
45927 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45928
45929         * config/srclist.txt: Adjust to reflect glibc reorganization.
45930         This affects only comments.
45931
45932 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
45933
45934          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
45935          Reported by Bruce Korb <bkorb@gnu.org>.
45936
45937 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
45938
45939         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
45940         to pacify gcc -Wswitch-default.
45941
45942 2006-01-22  Bruno Haible  <bruno@clisp.org>
45943
45944         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
45945         temporary buffer for sprintf, take into account the precision also
45946         for 'd', 'i', 'u', 'o', 'x', 'X'.
45947
45948 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
45949
45950         * modules/argp-tests: New module
45951         * tests/test-argp.c: New file
45952         * tests/test-argp-2.sh: New file
45953
45954 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
45955
45956         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
45957         (__argp_base_name): Removed
45958         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
45959         typo.
45960         (__argp_base_name): Provide macro definition or extern declaration
45961         depending on the configuration
45962
45963 2006-01-20  Simon Josefsson  <jas@extundo.com>
45964
45965         * modules/inet_ntop (Depends-on): Depend on sys_socket.
45966
45967 2006-01-20  Simon Josefsson  <jas@extundo.com>
45968
45969         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
45970
45971 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45972
45973         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
45974         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
45975         Suggested by Bruno Haible.
45976
45977 2006-01-20  Karl Berry  <karl@gnu.org>
45978
45979         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
45980         until changes propagate, I guess.
45981
45982 2006-01-19  Simon Josefsson  <jas@extundo.com>
45983
45984         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
45985
45986 2006-01-19  Simon Josefsson  <jas@extundo.com>
45987
45988         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
45989
45990 2006-01-19  Simon Josefsson  <jas@extundo.com>
45991
45992         * gnulib-tool: Set check_PROGRAMS.
45993
45994         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
45995         modules/des-tests, modules/gc-arcfour-tests,
45996         modules/gc-arctwo-tests, modules/gc-des-tests,
45997         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
45998         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
45999         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
46000         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
46001         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
46002         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
46003         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
46004         test_*_SOURCES.
46005
46006 2006-01-18  Simon Josefsson  <jas@extundo.com>
46007
46008         * modules/socklen (Depends-on): Depend on sys_socket.
46009
46010 2006-01-18  Simon Josefsson  <jas@extundo.com>
46011
46012         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
46013         modules/des-tests, modules/gc-arcfour-tests,
46014         modules/gc-arctwo-tests, modules/gc-des-tests,
46015         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
46016         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
46017         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
46018         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
46019         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
46020         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
46021         $(EXEEXT) to automake TESTS variable, for mingw32.
46022
46023 2006-01-17  Simon Josefsson  <jas@extundo.com>
46024
46025         * modules/socklen (Include): Need sys/socket.h.
46026
46027 2006-01-17  Bruno Haible  <bruno@clisp.org>
46028
46029         * modules/ssize_t (Include): Add <sys/types.h>.
46030
46031 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
46032
46033         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
46034         it's not portable and it doesn't work with cross-compiles.
46035         Problem reported by Bruno Haible.  Fix missing-$ typo in
46036         'test "gl_cv_ignore_unused_libraries" ...' that prevented
46037         -zignore from being used with Sun's C compiler.
46038
46039 2006-01-12  Simon Josefsson  <jas@extundo.com>
46040
46041         * lib/base64.c: Fix warning, reported by Bruno Haible
46042         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
46043
46044 2006-01-12  Bruno Haible  <bruno@clisp.org>
46045
46046         * modules/ldd: New file.
46047         * build-aux/ldd.sh.in: New file.
46048         * MODULES.html.sh (Support for building libraries and executables): Add
46049         ldd.
46050
46051 2006-01-12  Bruno Haible  <bruno@clisp.org>
46052
46053         * m4/ldd.m4: New file.
46054
46055 2006-01-12  Bruno Haible  <bruno@clisp.org>
46056
46057         * gnulib-tool (func_import, func_create_testdir): Don't go into an
46058         endless loop while replacing $auxdir with build-aux.
46059
46060 2006-01-11  Simon Josefsson  <jas@extundo.com>
46061
46062         * lib/stdint_.h (SIZE_MAX): Add missing (.
46063
46064 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
46065
46066         Sync from coreutils.
46067         * lib/md5.c: Fix commentary typos.
46068         (alignof, UNALIGNED_P): No need for a GCC-specific version.
46069         * lib/md5.h (__attribute__): Remove; unused.
46070         * lib/sha1.c: Fix commentary to match md5 better.
46071         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
46072         so that we don't need to worry about alignment.  All uses changed.
46073         This merges the 2005-10-28 md5 change into sha1.
46074
46075 2006-01-11  Jim Meyering  <jim@meyering.net>
46076
46077         Sync from coreutils.
46078         * lib/md5.c (OP): Fix spacing.
46079
46080 2006-01-11  Bruno Haible  <bruno@clisp.org>
46081
46082         Ensure automatic ordering between gl_LOCK and gl_ARGP.
46083         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
46084         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
46085
46086 2006-01-11  Bruno Haible  <bruno@clisp.org>
46087
46088         Ensure automatic ordering between gl_LOCK and gl_ARGP.
46089         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
46090         the "early" section as well.
46091
46092 2006-01-11  Bruno Haible  <bruno@clisp.org>
46093
46094         Avoid "ar: no archive members specified" error on MacOS X.
46095         * gnulib-tool (func_modules_add_dummy): New function.
46096         (func_import, func_create_testdir): Invoke it.
46097
46098 2006-01-11  Bruno Haible  <bruno@clisp.org>
46099
46100         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
46101         with $auxdir in AC_CONFIG_FILES statements.
46102
46103 2006-01-11  Bruno Haible  <bruno@clisp.org>
46104
46105         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46106         Initialize also noinst_HEADERS to empty.
46107
46108 2006-01-11  Bruno Haible  <bruno@clisp.org>
46109
46110         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
46111         variables.
46112         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
46113         autoreconf.
46114
46115 2006-01-11  Bruno Haible  <bruno@clisp.org>
46116
46117         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
46118         overridable by the user.
46119         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46120
46121 2006-01-10  Simon Josefsson  <jas@extundo.com>
46122
46123         * modules/sys_socket: New file.
46124
46125 2006-01-10  Simon Josefsson  <jas@extundo.com>
46126
46127         * m4/sys_socket_h.m4: New file.
46128
46129 2006-01-10  Simon Josefsson  <jas@extundo.com>
46130
46131         * lib/socket_.h: New file.
46132
46133 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46134
46135         * modules/readutmp (Maintainer): Add myself.
46136
46137 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46138
46139         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
46140         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
46141         People who are still concerned with buggy memcmp implementations
46142         can invoke gl_FUNC_MEMCMP themselves.
46143
46144 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46145
46146         * lib/regex_internal.h (BITSET_WORD_BITS):
46147         Work around a bug in 64-bit PGC (before version 6.1-2), where the
46148         preprocessor mishandles large unsigned values as if they were signed.
46149         Problem reported by Claudio Fontana in
46150         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
46151
46152 2006-01-10  Jim Meyering  <jim@meyering.net>
46153
46154         Avoid the double-free (first in fts_read, second in fts_close) that
46155         would occur when an `active' directory is made inaccessible (e.g.,
46156         via chmod a-x) during a traversal.
46157         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
46158         before returning.  Reproduce this failure by
46159         mkdir -p a/b; cd a; chmod a-x . b
46160         Reported by Stavros Passas.
46161
46162         Sync from coreutils.
46163         * lib/sha1.c: Tweak grammar in a comment.
46164
46165 2006-01-10  Jim Meyering  <jim@meyering.net>
46166
46167         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
46168         Patch by Joerg Sonnenberger.
46169
46170 2006-01-10  Bruno Haible  <bruno@clisp.org>
46171
46172         * modules/readutmp: Depend on module free.
46173         * modules/strtok_r: Depend on module restrict.
46174
46175 2006-01-10  Bruno Haible  <bruno@clisp.org>
46176
46177         * modules/gettext (configure.ac): Add an invocation of
46178         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
46179
46180 2006-01-10  Bruno Haible  <bruno@clisp.org>
46181
46182         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
46183         Reported by Werner Lemberg <wl@gnu.org>.
46184
46185 2006-01-10  Bruno Haible  <bruno@clisp.org>
46186
46187         * lib/localcharset.c: Update from GNU gettext.
46188
46189 2006-01-10  Bruno Haible  <bruno@clisp.org>
46190
46191         * lib/argp.h (__const): Remove macro. Use const instead.
46192         * lib/argp-fmtstream.h (__const): Likewise.
46193         * lib/glob_.h (__const): Remove macro.
46194         * lib/glob-libc.h: Use const instead of __const.
46195
46196 2006-01-10  Bruno Haible  <bruno@clisp.org>
46197
46198         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
46199         variable.
46200         Needed to avoid an automake error regarding the 'gettext' module.
46201
46202 2006-01-09  Simon Josefsson  <jas@extundo.com>
46203
46204         * modules/inet_ntop (Depends-on): Add restrict.
46205
46206 2006-01-09  Simon Josefsson  <jas@extundo.com>
46207
46208         * modules/gc-rijndael-tests (License): Put under LGPL.
46209
46210         * modules/gc-des-tests (License): Likewise.
46211
46212         * modules/gc-arcfour-tests (License): Likewise.
46213
46214         * modules/gc-arctwo-tests (License): Likewise.
46215
46216         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
46217
46218         * modules/gc-hmac-sha1-tests (Files): Likewise.
46219
46220         * modules/gc-hmac-md5-tests (License): Likewise.
46221
46222         * modules/gc-sha1-tests (License): Likewise.
46223
46224         * modules/gc-md5-tests (License): Likewise.
46225
46226         * modules/gc-md4-tests (License): Likewise.
46227
46228         * modules/gc-md2-tests (License): Likewise.
46229
46230         * modules/gc-tests (License): Likewise.
46231
46232         * modules/des-tests (License): Likewise.
46233
46234         * modules/md4-tests (License): Likewise.
46235
46236         * modules/md2-tests (License): Likewise.
46237
46238 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46239
46240         Sync from coreutils:
46241
46242         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
46243         * modules/lib-ignore: New file.
46244         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
46245         chdir-safer.m4, lchmod.m4.
46246         * modules/openat: Add mkdirat.c, openat-priv.h.
46247
46248 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46249
46250         Sync from coreutils.
46251         * m4/lib-ignore.m4: New file.
46252         * m4/lchmod.m4: New file.
46253
46254 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46255
46256         Sync from coreutils.
46257         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
46258         for write access: POSIX says that must fail.
46259         * lib/fts.c (diropen): Likewise.
46260         * lib/save-cwd.c (save_cwd): Likewise.
46261         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
46262         well, for minor improvements on hosts that lack O_DIRECTORY.
46263         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
46264         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
46265         Fall back on chown if open failed with EACCES.
46266
46267         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
46268         Report an error at compile-time if only a 1-second nominal clock
46269         resolution is found.
46270
46271         * lib/lchmod.h: New file.
46272         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
46273         (make_dir_parents): Use lchown rather than chown, and
46274         lchmod rather than chmod.
46275
46276         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
46277         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
46278         "proc" reported by n0dalus.
46279
46280         * lib/mountlist.c: Include <limits.h>.
46281         (dev_from_mount_options)
46282         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
46283         New function.  It no longer assumes "dev=" has the System V meaning
46284         on Linux (since it doesn't).  It also parses "dev=" more carefully.
46285         (read_file_system_list)
46286         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
46287         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
46288         dev= in that case.
46289
46290         * lib/posixtm.h (PDS_PRE_2000): New macro.
46291         * lib/posixtm.c (year): Arg is now syntax_bits rather than
46292         allow_century.  All usages changed.  Reject dates outside the range
46293         1969-1999 if PDS_PRE_2000 is used.
46294
46295 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46296
46297         Sync from coreutils.
46298         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
46299         (Time of day items): Mention the possibility of leap seconds.
46300         Problem reported by Dr. David Alan Gilbert.
46301
46302 2006-01-09  Jim Meyering  <jim@meyering.net>
46303
46304         Sync from coreutils.
46305
46306         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
46307
46308         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
46309
46310         * lib/modechange.c (mode_compile): Reject an invalid mode string
46311         that starts with an octal digit.  From Andreas Gruenbacher.
46312
46313         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
46314         and dup to open_safer and dup_safer, respectively.
46315         (openat_permissive): Fix typo in comment.
46316
46317         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
46318         "gettext.h"; either no longer needed or are guaranteed by openat.h.
46319         (_): Remove; no longer needed.
46320         (openat): Renamed from rpl_openat; no need for rpl_openat
46321         since openat.h renames openat for us.
46322         Replace most of the body with a call to openat_permissive,
46323         to avoid duplicate code.
46324         Port to (probably hypothetical) environments were mode_t is
46325         wider than int.
46326         (openat_permissive): Require mode arg, so that we can check
46327         types better.  Put it just after flags.  Change cwd failure
46328         indicator from pointer-to-bool to pointer-to-errno-value.
46329         All callers changed.
46330         Invoke openat_save_fail and/or openat_restore_fail if
46331         cwd_errno is null, so that openat can call us.
46332         (openat_permissive, fdopendir, fstatat, unlinkat):
46333         Simplify errno handling to avoid some duplicate code,
46334         as it's OK to set errno on success.
46335         * lib/openat.h: Revamp code so that function macros depend on
46336         __OPENAT_PREFIX only, not also on AT_FDCWD.
46337         (openat_ro): Remove.  Caller changed to use openat_permissive.
46338         (openat_permissive): Now a macro, if not a function.
46339         (openat_restore_fail, openat_save_fail): Now always functions,
46340         since mkdirat needs them even if __OPENAT_PREFIX is defined.
46341
46342         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
46343         and openat.c.
46344         * lib/mkdirat.c: Include openat-priv.h.
46345         Remove definitions of macros defined therein.
46346         * lib/openat.c: Likewise.
46347
46348         * lib/mkdirat.c (mkdirat): New file and function.
46349         * lib/openat.h (mkdirat): Declare.
46350
46351         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
46352
46353         * lib/openat.h (openat_permissive): Declare.
46354         (openat_ro): Define.
46355
46356         * lib/openat.c (EXPECTED_ERRNO): New macro.
46357         (openat_permissive): New function -- used in remove.c rewrite.
46358         (all functions): Set errno just before returning, only if there
46359         was an actual failure.
46360         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
46361
46362         Emulate openat-family functions using Linux's procfs, if possible.
46363         Idea and some code based on Ulrich Drepper's glibc changes.
46364
46365         * lib/openat.c: (BUILD_PROC_NAME): New macro.
46366         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
46367         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
46368         before falling back on save_cwd and restore_cwd.
46369         (fdopendir, fstatat, unlinkat): Likewise.
46370
46371         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
46372         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
46373
46374         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
46375         as second argument to va_arg.  Otherwise, some versions of gcc
46376         warn that `if this code is reached, the program will abort'.
46377
46378 2006-01-09  Jim Meyering  <jim@meyering.net>
46379
46380         Sync from coreutils.
46381         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
46382         Require openat-priv.h.
46383
46384 2006-01-09  Bruno Haible  <bruno@clisp.org>
46385
46386         * modules/strnlen (Include): Use strnlen.h.
46387
46388 2006-01-09  Bruno Haible  <bruno@clisp.org>
46389
46390         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
46391
46392 2006-01-09  Bruno Haible  <bruno@clisp.org>
46393
46394         * lib/sysexit_.h (EX_OK): New macro.
46395         Suggested by Martin Lambers <marlam@marlam.de>.
46396
46397 2006-01-09  Bruno Haible  <bruno@clisp.org>
46398
46399         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
46400         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
46401
46402 2006-01-09  Bruno Haible  <bruno@clisp.org>
46403
46404         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
46405         numbers.
46406
46407 2006-01-09  Bruno Haible  <bruno@clisp.org>
46408
46409         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
46410         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
46411         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
46412         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
46413
46414 2006-01-09  Bruno Haible  <bruno@clisp.org>
46415
46416         * build-aux/javacomp.sh.in: New file, moved from lib/.
46417         * modules/javacomp-script (Files): Update.
46418         (configure.ac): Add AC_CONFIG_FILES invocation.
46419         (EXTRA_DIST): Remove variable.
46420
46421         * build-aux/javaexec.sh.in: New file, moved from lib/.
46422         * modules/javaexec (Files): Update.
46423         (configure.ac): Add AC_CONFIG_FILES invocation.
46424         (EXTRA_DIST): Remove javaexec.sh.in.
46425
46426         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
46427         * modules/csharpcomp-script (Files): Update.
46428         (configure.ac): Add AC_CONFIG_FILES invocation.
46429         (EXTRA_DIST): Remove variable.
46430
46431         * build-aux/csharpexec.sh.in: New file, moved from lib/.
46432         * modules/csharpexec (Files): Update.
46433         (configure.ac): Add AC_CONFIG_FILES invocation.
46434         (EXTRA_DIST): Remove csharpexec.sh.in.
46435
46436 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46437
46438         Sync from coreutils.
46439
46440         Add POSIX ACL support
46441         * lib/acl.h (copy_acl, set_acl): Add declarations.
46442         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
46443         systems other than Linux.
46444         (chmod_or_fchmod): New function: use fchmod when possible,
46445         and chmod otherwise.
46446         (file_has_acl): Add a POSIX ACL implementation, with a
46447         Linux-specific subcase.
46448         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
46449         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
46450         acls are unsupported.
46451         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
46452         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
46453         are unsupported.
46454
46455 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46456
46457         Sync from coreutils.
46458         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
46459
46460 2006-01-07  Bruno Haible  <bruno@clisp.org>
46461
46462         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
46463         gl_EARLY.
46464
46465 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46466
46467         * lib/strftime.c (tzname): Don't declare if it is already #defined.
46468         Problem reported for Mingw by Mark Junker.
46469
46470 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46471
46472         * README: Gnulib normally doesn't generate a tarball.
46473
46474 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
46475
46476         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
46477         long int, not int, for nanosecond counts, so that people who are
46478         used to POSIX struct timespec won't be surprised.  Reported by Jim
46479         Meyering.
46480
46481 2005-12-28  Bruno Haible  <bruno@clisp.org>
46482
46483         * build-aux/config.rpath: Update from GNU gettext.
46484
46485 2005-12-16  Jim Meyering  <jim@meyering.net>
46486
46487         * modules/fprintftime: New module.
46488         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
46489
46490 2005-12-16  Jim Meyering  <jim@meyering.net>
46491
46492         * m4/fprintftime.m4: New file.
46493
46494 2005-12-16  Jim Meyering  <jim@meyering.net>
46495
46496         * lib/fprintftime.c, lib/fprintftime.h: New files.
46497
46498 2005-12-15  Simon Josefsson  <jas@extundo.com>
46499
46500         * modules/socklen (configure.ac): Fix M4 macro name, to align with
46501         new m4/socklen.m4.
46502
46503 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46504
46505         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
46506         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
46507
46508 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46509
46510         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
46511         * lib/argp-help.c (fill_in_uparams): Check if the constructed
46512         struct uparams is valid. Fall back to the default values if it is
46513         not.
46514
46515 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46516
46517         * modules/argp (Files): Add argp-pin.c
46518         (Depends-on): dirname
46519         (lib_SOURCES): Add argp-pin.c
46520
46521 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46522
46523         * m4/argp.m4:  Check if program_invocation_name and
46524         program_invocation_short_name are declared and define appropriate
46525         macros if they are not.
46526
46527 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46528
46529         * lib/argp-help.c (__argp_base_name): New function
46530         (__argp_short_program_name): Rewrite using __argp_base_name
46531         * lib/argp-namefrob.h: Define program_invocation_name and
46532         program_invocation_short_name if requested
46533         (__argp_base_name): Add prototype
46534         * lib/argp-parse.c (argp_def): Use gettext wrappers
46535         (argp_default_parser): Use __argp_base_name
46536         * lib/argp-pin.c: New file. Defines program_invocation_name and
46537         program_invocation_short_name on systems that lack them.
46538
46539 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46540
46541         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
46542         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46543         porting problem reported by Georg Schwarz in
46544         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46545
46546 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46547
46548         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
46549         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46550         porting problem reported by Georg Schwarz in
46551         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46552
46553 2005-12-05  Bruno Haible  <bruno@clisp.org>
46554
46555         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
46556         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
46557         Reported by Mark Junker <mjscod@gmx.de>.
46558
46559 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
46560
46561         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
46562         Use implementation from Albert Chin, with some
46563         comments/corrections by Stepan Kasal and myself.
46564
46565 2005-12-02  Bruno Haible  <bruno@clisp.org>
46566
46567         * gnulib-tool (func_import): Accept GPLed build tool modules when
46568         --lgpl is given.
46569         * modules/csharpcomp-script: New file.
46570         * modules/csharpcomp: Depend on it.
46571         * modules/javacomp-script: New file.
46572         * modules/javacomp: Depend on it.
46573         Suggested by Simon Josefsson.
46574
46575 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
46576
46577         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
46578         statement, to work around an HP-UX 10.20 compiler bug reported by
46579         Peter O'Gorman.
46580
46581 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46582
46583         * modules/savedir (Depends-on): Add openat.
46584
46585 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46586
46587         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
46588         (uintmax_t) [defined uintmax_t]: Do not declare.
46589         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
46590         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
46591         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
46592         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
46593         sake of portability to weird hosts that C allows (though we don't
46594         know of any practical examples).
46595
46596         * lib/savedir.h (fdsavedir): New decl.
46597         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
46598         contains most of the former guts of savedir.
46599         (savedir): Use savedirstream.
46600         Include "openat.h".
46601
46602 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46603
46604         * modules/obstack (Files): Add m4/ulonglong.m4.
46605         Problem reported by Davide Angelocola.
46606
46607 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46608
46609         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
46610         coreutils no longer futzes with rounding modes.
46611
46612 2005-11-14  Jim Meyering  <jim@meyering.net>
46613
46614         * lib/mkstemp-safer.c: Include <config.h>, required for possible
46615         replacement of mkstemp.
46616
46617 2005-11-10  Simon Josefsson  <jas@extundo.com>
46618
46619         * lib/readline.c: Remove EOL.
46620
46621 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46622
46623         * modules/gethrxtime (Depends-on): Add gettime.
46624
46625 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46626
46627         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
46628         or gettimeofday; no longer needed.
46629
46630 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46631
46632         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
46633         time business.
46634         (gethrxtime) [! (HAVE_NANOUPTIME
46635         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
46636         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
46637         our own approximation.
46638
46639 2005-11-08  Eric Blake  <ebb9@byu.net>
46640
46641         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
46642
46643 2005-11-08  Eric Blake  <ebb9@byu.net>
46644
46645         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
46646
46647 2005-11-04  Bruno Haible  <bruno@clisp.org>
46648
46649         * gnulib-tool: Implement --update mode.
46650
46651 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46652
46653         Fix porting problem reported by Theodoros V. Kalamatianos.
46654         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
46655         Don't assume that futimes failing means we must fail.
46656
46657 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46658
46659         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
46660         variables to suggest the intended function of the PATH_MAX check.
46661
46662 2005-10-30  Kean Johnston  <jkj@sco.com>
46663
46664         Trivial changes to support SCO systems.
46665         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
46666         as PATH_MAX.
46667         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
46668         where __ptr is null when no I/O is pending.
46669
46670 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46671
46672         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
46673         leave errno alone.  Problem reported by Dmitry V. Levin.
46674
46675 2005-10-28  Simon Josefsson  <jas@extundo.com>
46676
46677         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
46678         Test more.
46679
46680         * tests/test-gc-md2.c, tests/test-md2.c: New files.
46681
46682         * modules/md2, modules/md2-tests: New files.
46683
46684 2005-10-28  Simon Josefsson  <jas@extundo.com>
46685
46686         * m4/inet_ntop.m4: More tests.
46687
46688         * m4/gc-md2.m4, md2.m4: New file.
46689
46690 2005-10-28  Simon Josefsson  <jas@extundo.com>
46691
46692         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
46693         "restrict" keywords, as per POSIX.  Protect the function
46694         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
46695         Don't use K&R prototypes.  Check the sprintf return values.
46696         Re-define EAFNOSUPPORT if not present.  Indent.
46697
46698         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
46699         suggested by Bruno Haible <bruno@clisp.org>.
46700
46701         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
46702
46703         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
46704
46705         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
46706         libgcrypt).
46707
46708         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
46709
46710         * lib/md2.h, lib/md2.c: New files.
46711
46712 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
46713
46714         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
46715         errno alone.  Problem reported by Frederic Jolliton.
46716
46717 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46718
46719         * modules/verify (License): Change from GPL to LGPL.  This is a
46720         tiny module and there are apparently near-equivalents that are
46721         under the BSD license.
46722
46723 2005-10-24  Simon Josefsson  <jas@extundo.com>
46724
46725         * modules/sha1: Relicense to LGPL.
46726
46727 2005-10-24  Simon Josefsson  <jas@extundo.com>
46728
46729         * lib/md4.h: Shrink buffer size, now that we changed the type.
46730
46731 2005-10-23  Simon Josefsson  <jas@extundo.com>
46732
46733         * gnulib-tool (func_import): Fix --tests-base.
46734
46735 2005-10-22  Simon Josefsson  <jas@extundo.com>
46736
46737         * modules/arcfour (Depends-on): Need stdint.
46738
46739 2005-10-22  Simon Josefsson  <jas@extundo.com>
46740
46741         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
46742         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
46743
46744 2005-10-22  Simon Josefsson  <jas@extundo.com>
46745
46746         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
46747         suggested by Bruno Haible <bruno@clisp.org>.
46748
46749 2005-10-22  Simon Josefsson  <jas@extundo.com>
46750
46751         * lib/crc.h: Include stddef.h, for size_t.
46752
46753 2005-10-22  Simon Josefsson  <jas@extundo.com>
46754
46755         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
46756         arcfour_context struct (simplify test vector testing in GNU
46757         Shishi).
46758
46759 2005-10-21  Simon Josefsson  <jas@extundo.com>
46760
46761         * modules/des, modules/des-tests: New files.
46762
46763         * modules/gc-des, modules/gc-des-tests: New files.
46764
46765         * tests/test-des.c, tests/test-gc-des.c: New file.
46766
46767 2005-10-21  Simon Josefsson  <jas@extundo.com>
46768
46769         * modules/arctwo, modules/arctwo-tests: New files.
46770
46771         * tests/test-arctwo.c: New file.
46772
46773         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
46774
46775         * tests/test-gc-arctwo.c: New file.
46776
46777 2005-10-21  Simon Josefsson  <jas@extundo.com>
46778
46779         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
46780         Bruno Haible <bruno@clisp.org>.
46781
46782         * m4/gc-des.m4: New file.
46783
46784 2005-10-21  Simon Josefsson  <jas@extundo.com>
46785
46786         * m4/arctwo.m4: New file.
46787
46788         * m4/gc-arctwo.m4: New file.
46789
46790 2005-10-21  Simon Josefsson  <jas@extundo.com>
46791
46792         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
46793         block.
46794
46795 2005-10-21  Simon Josefsson  <jas@extundo.com>
46796
46797         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
46798         <bruno@clisp.org>.
46799
46800         * lib/hmac-sha1.c (hmac_sha1): Likewise.
46801
46802         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
46803         Bruno Haible <bruno@clisp.org>.
46804
46805         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
46806         <bruno@clisp.org>.
46807
46808 2005-10-21  Simon Josefsson  <jas@extundo.com>
46809
46810         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
46811
46812 2005-10-21  Simon Josefsson  <jas@extundo.com>
46813
46814         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
46815
46816 2005-10-21  Simon Josefsson  <jas@extundo.com>
46817
46818         * lib/des.h, lib/des.c: New files.
46819
46820         * lib/gc-gnulib.c: Support DES.c
46821
46822 2005-10-21  Simon Josefsson  <jas@extundo.com>
46823
46824         * lib/arctwo.h, lib/arctwo.c: New files.
46825
46826         * lib/gc-gnulib.c: Support ARCTWO.
46827
46828 2005-10-21  Simon Josefsson  <jas@extundo.com>
46829
46830         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
46831         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46832
46833 2005-10-21  Simon Josefsson  <jas@extundo.com>
46834
46835         * gnulib-tool (func_import, func_create_testdir): Define automake
46836         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
46837         Makefile.am snippet),
46838         suggested by Bruno Haible <bruno@clisp.org>.
46839
46840         * modules/gc (Makefile.am): Use it.
46841
46842 2005-10-21  Bruno Haible  <bruno@clisp.org>
46843
46844         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
46845         patch.
46846
46847 2005-10-19  Simon Josefsson  <jas@extundo.com>
46848
46849         * tests/test-gc-rijndael.c: New file.
46850
46851         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
46852
46853 2005-10-19  Simon Josefsson  <jas@extundo.com>
46854
46855         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
46856         interface too.
46857
46858 2005-10-19  Simon Josefsson  <jas@extundo.com>
46859
46860         * tests/test-gc-arcfour.c: New file.
46861
46862         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
46863
46864 2005-10-19  Simon Josefsson  <jas@extundo.com>
46865
46866         * modules/gc-md4, modules/gc-md4-tests: New file.
46867
46868         * tests/test-gc-md4.c: New file.
46869
46870 2005-10-19  Simon Josefsson  <jas@extundo.com>
46871
46872         * m4/gc-md4.m4: New file.
46873
46874 2005-10-19  Simon Josefsson  <jas@extundo.com>
46875
46876         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
46877         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
46878         <kasal@ucw.cz>.
46879
46880 2005-10-19  Simon Josefsson  <jas@extundo.com>
46881
46882         * m4/gc-arcfour.m4: New file.
46883
46884         * m4/gc-rijndael.m4: New file.
46885
46886 2005-10-19  Simon Josefsson  <jas@extundo.com>
46887
46888         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
46889
46890 2005-10-19  Simon Josefsson  <jas@extundo.com>
46891
46892         * lib/gc-gnulib.c: Support ARCFOUR.
46893
46894 2005-10-19  Simon Josefsson  <jas@extundo.com>
46895
46896         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
46897         support.
46898
46899         * lib/gc.h: Add ECB enum type.
46900
46901         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
46902
46903 2005-10-18  Simon Josefsson  <jas@extundo.com>
46904
46905         * tests/test-md5.c: New file.
46906
46907         * modules/md5-tests: New file.
46908
46909 2005-10-18  Simon Josefsson  <jas@extundo.com>
46910
46911         * tests/test-md4.c: New file.
46912
46913         * modules/md4, modules/md4-tests: New files.
46914
46915 2005-10-18  Simon Josefsson  <jas@extundo.com>
46916
46917         * m4/md4.m4: New file.
46918
46919 2005-10-18  Simon Josefsson  <jas@extundo.com>
46920
46921         * lib/md4.h, lib/md4.c: New files, based on md5.?.
46922
46923 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
46924
46925         * gnulib-tool (func_create_testdir): Omit the second check whether
46926         BUILT_SOURCES in nonempty.
46927
46928 2005-10-17  Simon Josefsson  <jas@extundo.com>
46929
46930         * tests/test-rijndael.c: New file.
46931
46932 2005-10-17  Simon Josefsson  <jas@extundo.com>
46933
46934         * modules/sha1: Depend on stdint instead of md5.
46935
46936         * modules/md5: Depend on stdint, remove uint32_t.
46937
46938 2005-10-17  Simon Josefsson  <jas@extundo.com>
46939
46940         * modules/gc-sha1-tests: New file.
46941
46942         * tests/test-gc-sha1.c: New file.
46943
46944 2005-10-17  Simon Josefsson  <jas@extundo.com>
46945
46946         * m4/md5.m4: Remove call to uint32_t.m4.
46947
46948 2005-10-17  Simon Josefsson  <jas@extundo.com>
46949
46950         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
46951
46952         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
46953         md5.h.
46954
46955         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
46956
46957         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
46958
46959 2005-10-17  Simon Josefsson  <jas@extundo.com>
46960
46961         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
46962
46963 2005-10-17  Simon Josefsson  <jas@extundo.com>
46964
46965         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
46966
46967 2005-10-17  Simon Josefsson  <jas@extundo.com>
46968
46969         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
46970
46971         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
46972
46973 2005-10-17  Bruno Haible  <bruno@clisp.org>
46974
46975         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
46976         that it can also be used in a test.
46977
46978 2005-10-16  Bruno Haible  <bruno@clisp.org>
46979
46980         * gnulib-tool (func_emit_tests_Makefile_am): Also define
46981         TESTS_ENVIRONMENT, so that individual tests can augment it.
46982
46983         * gnulib-tool (func_create_testdir): Use an intermediate target for
46984         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
46985         macros, like $(ALLOCA_H), which cannot be passed through the command
46986         line.
46987
46988 2005-10-15  Simon Josefsson  <jas@extundo.com>
46989
46990         * modules/rijndael-tests: New file.
46991
46992         * modules/rijndael: New file.
46993
46994 2005-10-15  Simon Josefsson  <jas@extundo.com>
46995
46996         * m4/rijndael.m4: New file.
46997
46998 2005-10-15  Simon Josefsson  <jas@extundo.com>
46999
47000         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
47001
47002         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
47003
47004 2005-10-14  Simon Josefsson  <jas@extundo.com>
47005
47006         * tests/test-arcfour.c: New file.
47007
47008         * modules/arcfour, modules/arcfour-tests: New files.
47009
47010 2005-10-14  Simon Josefsson  <jas@extundo.com>
47011
47012         * m4/arcfour.m4: New file.
47013
47014 2005-10-14  Simon Josefsson  <jas@extundo.com>
47015
47016         * lib/arcfour.h, lib/arcfour.c: New files.
47017
47018 2005-10-14  Roland McGrath  <roland@redhat.com>
47019
47020         Import from libc.  [BZ #1331]
47021         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
47022         macro argument.
47023         Reported by Matej Vela <vela@debian.org>.
47024
47025 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
47026
47027         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
47028         include <wchar.h>; no longer needed.
47029
47030 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
47031
47032         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
47033
47034 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
47035         and  Ulrich Drepper  <drepper@redhat.com>
47036
47037         Import from libc.
47038         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
47039         instead of inline stream orientation test and two separate
47040         function calls.  Pay no attention to USE_IN_LIBIO.
47041
47042 2005-10-13  Simon Josefsson  <jas@extundo.com>
47043
47044         * modules/gc-hmac-md5-tests: New file.
47045
47046         * tests/test-gc-hmac-sha1.c: New file.
47047
47048         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
47049
47050         * modules/gc-hmac-md5-tests: New file.
47051
47052         * tests/test-gc-md5.c: New file.
47053
47054         * modules/gc-md5-tests: New file.
47055
47056 2005-10-13  Simon Josefsson  <jas@extundo.com>
47057
47058         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
47059         Move memory allocation outside of loop.
47060
47061 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
47062
47063         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
47064         intermediate directory is in a read-only file system.  Problem
47065         reported by Eric Blake.
47066
47067 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
47068
47069         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
47070
47071 2005-10-12  Simon Josefsson  <jas@extundo.com>
47072
47073         * tests/test-hmac-sha1.c: New file.
47074
47075         * modules/hmac-sha1-tests: New file.
47076
47077         * modules/hmac-sha1: New file.
47078
47079 2005-10-12  Simon Josefsson  <jas@extundo.com>
47080
47081         * modules/gc-sha1: New file.
47082
47083 2005-10-12  Simon Josefsson  <jas@extundo.com>
47084
47085         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
47086
47087         * tests/test-gc-pbkdf2-sha1.c: New file.
47088
47089 2005-10-12  Simon Josefsson  <jas@extundo.com>
47090
47091         * modules/gc-md5, modules/gc-hmac-md5: New files.
47092
47093         * modules/gc (Files): Remove md5, memxor and hmac files.
47094
47095 2005-10-12  Simon Josefsson  <jas@extundo.com>
47096
47097         * m4/gc-pbkdf2-sha1.m4: New file.
47098
47099         * m4/gc-hmac-sha1.m4: New file.
47100
47101         * m4/gc-sha1: New file.
47102
47103         * m4/hmac-sha1.m4: New file.
47104
47105 2005-10-12  Simon Josefsson  <jas@extundo.com>
47106
47107         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
47108
47109         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
47110
47111 2005-10-12  Simon Josefsson  <jas@extundo.com>
47112
47113         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
47114         suggested by Bruno Haible <bruno@clisp.org>.
47115
47116 2005-10-12  Simon Josefsson  <jas@extundo.com>
47117
47118         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
47119
47120 2005-10-12  Simon Josefsson  <jas@extundo.com>
47121
47122         * lib/gc-pbkdf2-sha1.c: New file.
47123
47124         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
47125
47126 2005-10-12  Simon Josefsson  <jas@extundo.com>
47127
47128         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
47129
47130         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
47131
47132 2005-10-12  Simon Josefsson  <jas@extundo.com>
47133
47134         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
47135         GC_USE_HMAC_MD5, respectively.
47136
47137         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
47138         (gc_md5): Fix typo.
47139
47140         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
47141
47142         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
47143
47144         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
47145
47146 2005-10-12  Bruno Haible  <bruno@clisp.org>
47147
47148         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
47149         Reported by Stepan Kasal <kasal@ucw.cz>.
47150
47151 2005-10-11  Simon Josefsson  <jas@extundo.com>
47152
47153         * tests/test-crc.c: New file.
47154
47155         * modules/crc, modules/crc-tests: New files.
47156
47157 2005-10-11  Simon Josefsson  <jas@extundo.com>
47158
47159         * m4/crc.m4: New file.
47160
47161 2005-10-11  Simon Josefsson  <jas@extundo.com>
47162
47163         * lib/gc.h: Add gc_hash and gc_hash_buffer.
47164
47165         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
47166
47167         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
47168
47169 2005-10-11  Simon Josefsson  <jas@extundo.com>
47170
47171         * lib/crc.h, lib/crc.c: New files.
47172
47173         * lib/gc.h (gc_hash_buffer): Add doc.
47174
47175 2005-10-11  Bruno Haible  <bruno@clisp.org>
47176
47177         * modules/c-strcasestr: New file.
47178         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
47179
47180 2005-10-11  Bruno Haible  <bruno@clisp.org>
47181
47182         * modules/c-strcase: New file.
47183         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
47184
47185 2005-10-11  Bruno Haible  <bruno@clisp.org>
47186
47187         * lib/strcasecmp.c: Include limits.h.
47188         (strcasecmp): Avoid integer overflow on exotic platforms.
47189         * lib/strncasecmp.c: Include limits.h.
47190         (strncasecmp): Avoid integer overflow on exotic platforms.
47191         Reported by Paul Eggert.
47192
47193 2005-10-11  Bruno Haible  <bruno@clisp.org>
47194
47195         * lib/c-strcasestr.h: New file, from GNU gettext.
47196         * lib/c-strcasestr.c: New file, from GNU gettext.
47197
47198 2005-10-11  Bruno Haible  <bruno@clisp.org>
47199
47200         * lib/c-strcase.h: New file, from GNU gettext.
47201         * lib/c-strcasecmp.c: New file, from GNU gettext.
47202         * lib/c-strncasecmp.c: New file, from GNU gettext.
47203
47204 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
47205
47206         * modules/mempcpy (License): GPL -> LGPL.
47207         * modules/strchrnul (License): Likewise.
47208         * modules/sysexits (License): Likewise.
47209
47210 2005-10-08  Simon Josefsson  <jas@extundo.com>
47211
47212         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
47213
47214 2005-10-07  Simon Josefsson  <jas@extundo.com>
47215
47216         * m4/memxor.m4: Remove gl_C_RESTRICT call.
47217
47218 2005-10-06  Simon Josefsson  <jas@extundo.com>
47219
47220         * tests/test-hmac-md5.c: New file.
47221
47222         * modules/hmac-md5-tests: New file.
47223
47224         * modules/hmac-md5: New file.
47225
47226 2005-10-06  Simon Josefsson  <jas@extundo.com>
47227
47228         * m4/hmac-md5.m4: New file.
47229
47230         * m4/memxor.m4: Require gl_C_RESTRICT.
47231
47232 2005-10-06  Simon Josefsson  <jas@extundo.com>
47233
47234         * lib/memxor.c (memxor): Avoid casts and warnings.
47235
47236 2005-10-06  Simon Josefsson  <jas@extundo.com>
47237
47238         * lib/hmac-md5.c: New file.
47239
47240         * lib/hmac.h: New file.
47241
47242 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
47243
47244         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
47245         promotes to int, not unsigned int, to catch the AIX 5.3
47246         compiler bug.
47247
47248 2005-10-05  Simon Josefsson  <jas@extundo.com>
47249
47250         * modules/memxor: New file.
47251
47252         * modules/iconv (Files): Move config.rpath to havelib, it is used
47253         there.
47254
47255         * modules/havelib (Files): Add config.rpath.
47256
47257 2005-10-05  Simon Josefsson  <jas@extundo.com>
47258
47259         * m4/memxor.m4: New file.
47260
47261 2005-10-05  Simon Josefsson  <jas@extundo.com>
47262
47263         * lib/memxor.c (memxor): Fix compiler error.
47264
47265         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
47266         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
47267
47268         * lib/memxor.h, lib/memxor.c: New files.
47269
47270         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
47271         we assume all systems have it, suggested by Jim Meyering
47272         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
47273         any systems lack sys/socket.h; mingw32 is known to lack it, but we
47274         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
47275         same reasons.
47276
47277 2005-10-05  Simon Josefsson  <jas@extundo.com>
47278
47279         * config/srclist.txt: Add glibc bug 1423 for md5.h.
47280
47281 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47282
47283         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
47284         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
47285         needed, since the source code now assumes these .h files.
47286
47287 2005-10-05  Derek Price  <derek@ximbiot.com>
47288
47289         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
47290
47291 2005-10-05  Bruno Haible  <bruno@clisp.org>
47292
47293         * modules/stdint (License): Change to LGPL.
47294
47295 2005-10-04  Simon Josefsson  <jas@extundo.com>
47296
47297         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
47298         D. Baushke" <mdb@gnu.org>.
47299
47300 2005-10-04  Bruno Haible  <bruno@clisp.org>
47301
47302         * lib/verify.h (verify_true): Provide alternative definition for C++.
47303
47304 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
47305
47306         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
47307         (SSIZE_MAX): New macro, if not already defined.
47308         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
47309         than 2 GiB.
47310
47311 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
47312
47313         Sync from coreutils.
47314         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
47315         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
47316         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
47317         ULLONG_MAX doesn't work with 2.7.2.1.
47318
47319 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
47320
47321         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
47322         From Ben Pfaff.
47323
47324         * modules/exclude (Depends-on): Depend on verify.
47325         * modules/strtoimax (Depends-on): Likewise.
47326         * modules/utimecmp (Depends-on): Likewise.
47327
47328 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
47329
47330         * lib/exclude.c: Include verify.h.
47331         (verify): Remove.  All callers changed to use verify.h's version.
47332         * lib/strtoimax.c: Likewise.
47333         * lib/utimecmp.c: Likewis.e
47334
47335         Sync from coreutils.
47336         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
47337         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
47338         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
47339         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
47340         bother returning ENOSYS if settimeofday or stime fails; just let
47341         them return whatever errno they want to return.
47342         * lib/utimens.c: Include unistd.h, for dup2.
47343         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
47344         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
47345
47346 2005-10-02  Jim Meyering  <jim@meyering.net>
47347
47348         Sync from coreutils.
47349         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
47350         from glibc-2.2.5 that fails for read-only files.
47351
47352 2005-10-02  Jim Meyering  <jim@meyering.net>
47353
47354         Sync from coreutils.
47355         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
47356         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
47357         `#if HAVE_CONFIG_H'.
47358         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
47359         Remove AT_FDCWD test.
47360         Do not consume the fd unless successful.
47361         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
47362         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
47363         block, so that we don't even try to compile it if settimeofday is
47364         available.  This works around a compilation failure on OSF1 V5.1,
47365         due to stime requiring a `long int*' while tv_sec is `int'.
47366
47367 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
47368
47369         Sync from coreutils.
47370         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
47371         against `yes', rather than just testing for nonempty.
47372
47373 2005-10-01  Simon Josefsson  <jas@extundo.com>
47374
47375         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
47376         and Darwin.
47377
47378         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
47379         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
47380         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
47381         freeaddrinfo and gai_strerror are declared by the POSIX headers.
47382         Check if struct addrinfo is declared.
47383
47384 2005-10-01  Simon Josefsson  <jas@extundo.com>
47385
47386         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
47387         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
47388         AI_* and EAI_* definitions.  Protect function declarations.
47389
47390 2005-10-01  Jim Meyering  <jim@meyering.net>
47391
47392         Sync from coreutils.
47393
47394         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
47395         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
47396         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
47397         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
47398         in the inet and nsl libraries.  Required on Solaris 5.7.
47399
47400 2005-10-01  Jim Meyering  <jim@meyering.net>
47401
47402         Sync from coreutils.
47403         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
47404         in the inet and nsl libraries.  Required on Solaris 5.7.
47405
47406 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
47407
47408         * lib/getdelim.c (getdelim): Remove unused variables.
47409
47410 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
47411
47412         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
47413         so that the code works even with ancient cpp.  Portability problem
47414         with GCC 2.7.2.1 reported by Thomas M.Ott.
47415
47416 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
47417
47418         * modules/regex (Depends-on): Add strcase.
47419
47420         * modules/gethostname (Licence): Change from GPL to LGPL, since
47421         gethostname.c is a trivial implementation of a standard library
47422         function.
47423         * modules/poll (License): Change from GPL to LGPL, since it's
47424         derived from LGPL code.
47425
47426 2005-09-27  Jim Meyering  <jim@meyering.net>
47427
47428         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
47429         HAVE_CONFIG_H.
47430
47431         * lib/intprops.h (signed_type_or_expr__): Define.
47432         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
47433         for unsigned types.
47434
47435 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47436
47437         * lib/verify.h (verify_expr): Remove, replacing with:
47438         (verify_true): New macro that returns true instead of void.
47439         (verify_type__): Remove.
47440         (verify): Use verify_true rather than verify_type__.
47441
47442 2005-09-26  Bruno Haible  <bruno@clisp.org>
47443
47444         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
47445         is necessary.
47446         (lib_SOURCES): Remove mbchar.c.
47447         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
47448         (Files): Add m4/mbrtowc.m4.
47449         * modules/mbiter: Likewise.
47450         * modules/mbuiter: Likewise.
47451
47452 2005-09-26  Bruno Haible  <bruno@clisp.org>
47453
47454         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
47455         compile mbchar.c if they are not both present.
47456         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
47457         * m4/mbiter.m4 (gl_MBITER): Likewise.
47458         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
47459         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
47460         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
47461
47462 2005-09-25  Jim Meyering  <jim@meyering.net>
47463
47464         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
47465         also uses socklen_t.
47466
47467 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47468
47469         * lib/utimens.c (ENOSYS): Define if not already defined.
47470         (futimens): Support having a null PATH if the file descriptor
47471         is nonnegative.
47472
47473         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
47474         Remove.
47475         (__attribute): Define to empty unless GCC 3.1 or later.
47476         This works around a core dump on OpenBSD 3.4, which has GCC
47477         2.95.3, which dumps core when given __attribute__(()).  It also
47478         simplifies other tests, since we really don't want to bother with
47479         worrying about which ancient version of GCC supported what.
47480         Original problem reported by Yoann Vandoorselaere, with part of
47481         the fix suggested by Derek Price.
47482
47483 2005-09-24  Jim Meyering  <jim@meyering.net>
47484
47485         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
47486         so we can once again use a positive bitfield width of 1 -- now we
47487         don't have to explain why we were using a bitfield width of 2.
47488
47489 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47490
47491         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
47492         and similarly for the other external symbols.  Problem reported
47493         by James Gallager.
47494
47495         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
47496         bug reported by Jim Meyering.
47497
47498         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
47499         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
47500         not needed, since socklen is a prerequisite module.
47501
47502 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47503
47504         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
47505         Problem reported by Eric Blake.
47506         (getaddrinfo): Initialize se so that it's not garbage.
47507         Redo internal storage allocation so that it doesn't make unportable
47508         assumptions about alignment.
47509         Fix a memory leak.
47510
47511         * lib/utimens.c (futimens): Use futimesat if available.
47512         Prefer it to futimes since it doesn't have the futimes bug.
47513
47514         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
47515         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
47516         Instead, declare a function that returns a pointer to an array,
47517         and use verify_type__ to declare the size of the array.
47518         Problem and germ of a solution reported by Bruno Haible.
47519         (verify_type__): Use 2, not 1, for bitfield size, to avoid
47520         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
47521
47522 2005-09-23  Jim Meyering  <jim@meyering.net>
47523
47524         Sync from coreutils.
47525         Correct build failure (socklen_t not defined) on at least
47526         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
47527         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
47528
47529 2005-09-23  Jim Meyering  <jim@meyering.net>
47530
47531         * modules/getaddrinfo (Depends-on): Add socklen.
47532
47533 2005-09-23  Bruno Haible  <bruno@clisp.org>
47534
47535         * tests/test-verify.c: New file.
47536
47537 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47538
47539         Sync from coreutils.
47540
47541         * modules/argmatch (Depends-on): Add verify.
47542         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
47543         unistd-safer.
47544         * modules/save-cwd (Depends-on): Likewise.
47545
47546         * modules/openat (Files): Add lib/openat-die.c.
47547         (Depends-on): Remove error, exitfail.
47548         Add dirname.
47549
47550         * modules/verify: New file.
47551         * MODULES.html.sh (Diagnostics <assert.h>): New section,
47552         with "verify" module.
47553
47554 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47555
47556         Sync from coreutils.
47557
47558         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
47559         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
47560         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
47561         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
47562         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
47563         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
47564         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
47565         Don't bother checking for string.h, stdlib.h, unistd.h.
47566         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
47567         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
47568         module's job.
47569         * m4/jm-macros.m4 (gl_MACROS): Likewise.
47570         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
47571
47572         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
47573         (gl_GETDATE): Use it.
47574
47575         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
47576
47577 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47578
47579         Sync from coreutils.
47580
47581         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
47582         stat-time.h.
47583         * lib/argmatch.h: Include verify.h
47584         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
47585         (ARGMATCH_ASSERT): Remove; unused.
47586         * lib/canonicalize.c: Assume STDC_HEADERS.
47587         * lib/exclude.c: Include "strcase.h".
47588         * lib/regex_internal.h [!defined _LIBC]: Likewise.
47589         * lib/getusershell.c: Include stdio--.h rather than stdio.h
47590         and stdio-safer.h.
47591         (getusershell): Call fopen, not fopen_safer.
47592         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
47593         Do not include unistd-safer.h.
47594         (save_cwd): Don't call fd_safer; no longer needed
47595         now that we include fcntl--.h.
47596
47597         * lib/getdate.y (relative_time): New type.
47598         (RELATIVE_TIME_0): New constant.
47599         (parser_control): Use relative_time instead of doing it ourselves.
47600         (%union): Add new relative_time rel member.
47601         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
47602         Now typeless.
47603         (relunit, relunit_snumber): Now of type rel.
47604         (zone, rel, relunit, get_date): Adjust to above changes.
47605
47606         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
47607         Do not include unistd-safer.h.
47608         (getloadavg): Don't call fd_safer; no longer needed
47609         now that we include fcntl--.h.
47610
47611         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
47612         (make_dir_parents): Treat ENOSYS like EEXIST.
47613
47614         Improve quality of diagnostics on restore_cwd failure.
47615         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
47616         (make_dir_parents): Last arg is now int * (for errno), not bool *.
47617         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
47618         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
47619         each time through the loop.  Do not diagnose restore_cwd failure;
47620         that is the caller's job (and perhaps the caller does not care).
47621
47622         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
47623         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
47624         If the file already exists but is not a directory, don't bother
47625         to try to make its parents.
47626         Close potential file descriptor leak if we can't chdir("/") (!).
47627         Don't always return true if chdir($PWD) fails; return true only
47628         if the requested action was done successfully (except for the
47629         chdir($PWD)).
47630         Don't log final directory unless we actually made it.
47631         Refactor to avoid duplicate code to fix up permissions.
47632         Don't attempt to fix up parent permissions if chdir($PWD) fails.
47633
47634         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
47635         to make it a bit faster and (I hope) clearer.
47636         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
47637         Fix bug in formats like %2N.
47638
47639         * lib/verify.h: New file.
47640
47641 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47642
47643         Sync from coreutils.
47644         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
47645
47646 2005-09-22  Jim Meyering  <jim@meyering.net>
47647
47648         Sync from coreutils.
47649
47650         * m4/lstat.m4 (gl_FUNC_LSTAT):
47651         Use AC_LIBSOURCES to require lstat.c and lstat.h.
47652         Remove obsolete comment.
47653         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
47654         * m4/xstrtod.m4: Likewise.
47655
47656         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
47657
47658 2005-09-22  Jim Meyering  <jim@meyering.net>
47659
47660         Sync from coreutils.
47661
47662         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
47663
47664         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
47665         the .tm_year member, since otherwise gcc-4.0 would now warn about
47666         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
47667
47668         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
47669         order to avoid an unsuppressible warning from gcc on 64-bit systems.
47670
47671         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
47672         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
47673         when run in a time zone for which daylight savings time is in effect
47674         for the starting date.
47675
47676         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
47677         stop us from restricting permissions of just-created absolute-named
47678         directories.
47679         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
47680         to restore initial working directory.
47681         * lib/mkdir-p.c (make_dir_parents): New parameter:
47682         different_working_dir, to tell caller if/when we change the working
47683         directory and are unable to return to the initial one.
47684         * lib/mkdir-p.h (make_dir_parents): Update prototype.
47685         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
47686         `return false'.  This fixes a bug introduced on 2004-07-30.
47687
47688         * lib/openat.c (fdopendir): Be sure to close the supplied
47689         file descriptor before returning.  This makes our replacement
47690         implementation a little closer to Solaris's, where fdopendir
47691         ties the file descriptor to the returned DIR* pointer.
47692         * lib/openat.c (unlinkat): New function.
47693         * lib/openat.h (unlinkat): Add prototype.
47694         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
47695         (openat_restore_fail): Rename from openat_restore_die.
47696         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
47697
47698         Provide an alternative to exiting immediately upon save_cwd or
47699         restore_cwd failure.  Now, an application can arrange e.g.,
47700         to perform a longjump in that case.
47701         * lib/openat.c: Include dirname.h.
47702         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
47703         (rpl_openat, fdopendir, fstatat): Call openat_save_die
47704         and openat_restore_die rather than calling error directly.
47705         Don't include "error.h" or "exitfail.h"; they're no longer needed.
47706
47707         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
47708         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
47709         define.
47710
47711         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
47712         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
47713                             int utc, int nanoseconds);
47714         Background:
47715         date should not have to allocate a megabyte of virtual memory to
47716         handle a format argument like +%1048575T.  When implemented with
47717         strftime, it must allocate such a buffer, use strftime to fill it
47718         in, print it, then free it.
47719         With fprintftime, it simply prints everything and exits.
47720         With no need for memory allocation, that's one fewer way to fail.
47721         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
47722         optional field width, not before, so we accept %9:z, not %:9z.
47723         (my_strftime): Be sure to use L_('x') for literals.
47724
47725         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
47726         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
47727         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
47728         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
47729         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
47730         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
47731         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
47732         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
47733         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
47734         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
47735         * lib/xgethostname.c, lib/xreadlink.c:
47736         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
47737
47738         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
47739         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
47740         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
47741         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
47742         and don't include <sys/file.h>).
47743
47744 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
47745
47746         Sync from coreutils.
47747
47748         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
47749         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
47750         [!LDAV_DONE]: Avoid unused variable warning.
47751
47752 2005-09-21  Bruno Haible  <bruno@clisp.org>
47753
47754         * lib/unicodeio.h (unicode_to_mb): New declaration.
47755
47756 2005-09-20  Derek Price  <derek@ximbiot.com>
47757
47758         * lib/getaddrinfo.c: Don't include <netdb.h> included from
47759         getaddrinfo.h.
47760
47761 2005-09-20  Bruno Haible  <bruno@clisp.org>
47762
47763         * gnulib-tool: Remove trailing slashes from the values specified for
47764         --source-base, --m4-base, --tests-base, --aux-dir.
47765         Suggested by Simon Josefsson <jas@extundo.com>.
47766
47767 2005-09-20  Bruno Haible  <bruno@clisp.org>
47768
47769         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
47770         func_modules_to_filelist, func_import, func_create_testdir): Make all
47771         sorting results locale-independent, so that gnulib-cache.m4 doesn't
47772         change when gnulib-tool is invoked in a different locale.
47773
47774 2005-09-19  Simon Josefsson  <jas@extundo.com>
47775
47776         * m4/socklen.m4: Fix typo.
47777
47778 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47779
47780         Use a consistent style for including <config.h>.
47781         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
47782         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
47783         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
47784         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
47785         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
47786         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
47787         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
47788         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
47789         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
47790         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
47791         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
47792         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
47793         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
47794         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
47795         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
47796         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
47797         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
47798         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
47799         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
47800         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
47801         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
47802         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
47803         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
47804         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
47805         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
47806         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
47807         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
47808         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
47809         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
47810         lib/xstrtoumax.c, lib/yesno.c:
47811         Standardize inclusion of config.h.
47812         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
47813         lib/inttostr.h:  Removed inclusion of config.h from header files.
47814         * lib/inttostr.c:  Adjusted in-tree users.
47815         * lib/timespec.h: Remove superfluous warning to include config.h.
47816         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
47817         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
47818         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
47819         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
47820         config.h with HAVE_CONFIG_H.
47821
47822 2005-09-19  Jim Meyering  <jim@meyering.net>
47823
47824         * modules/pathmax (License): Change to LGPL.
47825
47826 2005-09-19  Derek Price  <derek@ximbiot.com>
47827
47828         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
47829
47830 2005-09-19  Bruno Haible  <bruno@clisp.org>
47831
47832         * gnulib-tool (import): Provide default for --tests-base.
47833
47834 2005-09-19  Bruno Haible  <bruno@clisp.org>
47835
47836         * doc/quote.texi: New file, extracted from gnulib.texi.
47837         * doc/ctime.texi: New file, extracted from gnulib.texi.
47838         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
47839         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
47840         * doc/gnulib.texi: Include them.
47841
47842 2005-09-18  Bruno Haible  <bruno@clisp.org>
47843
47844         Portability fix.
47845         * gnulib-tool (func_readlink): New function.
47846         (func_ln_if_changed): Use it.
47847
47848 2005-09-18  Bruno Haible  <bruno@clisp.org>
47849
47850         * gnulib-tool: Support --with-tests also with --import.
47851         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
47852         (func_import): Use variables $testsbase and $inctests. Emit a
47853         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
47854         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
47855         SUBDIRS += $testsdir.
47856         (func_create_testdir): Update.
47857
47858 2005-09-18  Bruno Haible  <bruno@clisp.org>
47859
47860         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
47861         instead of $dry_run.
47862         (func_cp_if_changed, func_mv_if_changed): Remove functions.
47863         (func_ln_if_changed): Don't handle dry-run here.
47864         (func_import): In dry-run mode, detect more precisely which actions
47865         would be performed, and don't use "...ing" verbs.
47866
47867 2005-09-18  Bruno Haible  <bruno@clisp.org>
47868
47869         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
47870         (func_import): Use join on two temporary files instead of three nested
47871         loops, in order to determine which files are new or old.
47872
47873 2005-09-18  Bruno Haible  <bruno@clisp.org>
47874
47875         * gnulib-tool (func_import): Comment out code that spits out the
47876         new files with --dry-run.
47877
47878 2005-09-18  Bruno Haible  <bruno@clisp.org>
47879
47880         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
47881
47882 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47883
47884         * lib/stat-time.h: New file.
47885         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
47886         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
47887         in a different way.
47888         (timespec_cmp): New function.
47889         * lib/utimecmp.c: Include stat-time.h.
47890         (SYSCALL_RESOLUTION): Depend on whether various struct stat
47891         members exist, not on the obsolescent ST_MTIM_NSEC.
47892         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
47893
47894 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47895
47896         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
47897
47898 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47899
47900         * MODULES.html.sh (File system functions): Add stat-time.
47901         * modules/stat-time: New file.
47902         * modules/timespec (Files): Remove m4/st_mtim.m4; this
47903         is now done in a different way, by the stat-time module.
47904         * modules/utimecmp (Depends-on): Add stat-time.
47905
47906 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47907
47908         * m4/st_mtim.m4: Remove.  Superseded by...
47909         * m4/stat-time.m4: New file.
47910         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
47911         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
47912
47913 2005-09-15  Derek Price  <derek@ximbiot.com>
47914
47915         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
47916
47917 2005-09-15  Derek Price  <derek@ximbiot.com>
47918
47919         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
47920         * lib/regex_internal.c: Ditto, using this...
47921         (__GNUC_PREREQ): ...new macro.
47922         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
47923         using...
47924         (__GNUC_PREREQ): ...this new macro.
47925
47926         * lib/strstr.h: Include string.h. Define strstr as a macro here.
47927
47928 2005-09-15  Derek Price  <derek@ximbiot.com>
47929             Paul Eggert  <eggert@cs.ucla.edu>
47930
47931         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
47932         changes, consolidating in...
47933         * lib/regex_internal.h: ...this file.
47934
47935 2005-09-13  Jim Meyering  <jim@meyering.net>
47936
47937         * lib/canon-host.c: Filter through gnu indent and reword comments
47938         slightly.
47939         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
47940
47941 2005-09-13  Derek Price  <derek@ximbiot.com>
47942
47943         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
47944         failure.
47945         Reported by Jim Meyering  <jim@meyering.net>.
47946
47947 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
47948
47949         * lib/base64.c: Typo.
47950         (base64_encode): Put b64str in initialized data section.
47951
47952 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
47953
47954         Merge glibc and coreutils changes into gnulib, plus a few
47955         extra fixes.
47956         * lib/md5.c: Use #error rather than a string.
47957         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
47958         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
47959         (__attribute__): Define to empty for non recent-GCC.
47960         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
47961         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
47962         Renamed from their non-__ counterparts, with new macros replacing
47963         them if not _LIBC.  Add __THROW attribute.
47964         (rol): Remove.
47965         (struct md5_ctx): Align buffer if using GCC.
47966         * lib/sha1.h (struct sha1_ctx): Likewise.
47967         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
47968         The old name was backwards.
47969         (NOTSWAP): Remove; not used.
47970         (rol): New macro, moved here from md5.h.
47971         (sha1_process_block): Remove a FIXME that doesn't make sense.
47972
47973 2005-09-12  Derek Price  <derek@ximbiot.com>
47974
47975         Return usable errors from canon-host.
47976         * lib/canon-host.h: New file.
47977         * lib/canon-host.c (canon_host): Wrap...
47978         (canon_host_r): ...this new function, which now relies exclusively on
47979         getaddrinfo.
47980         (ch_strerror): New function.
47981         (last_cherror): New global.
47982         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
47983         interface.
47984         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
47985         void *.
47986         (freeaddrinfo): Free ai->ai_canonname when set.
47987
47988 2005-09-12  Derek Price  <derek@ximbiot.com>
47989
47990         Make canon-host require getaddrinfo.
47991         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
47992         AC_LIBSOURCE canon-host.h.  Call...
47993         (gl_PREREQ_CANON_HOST): ...this new function, which requires
47994         gl_GETADDRINFO.
47995         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
47996
47997 2005-09-12  Derek Price  <derek@ximbiot.com>
47998
47999         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
48000         LGPL.
48001         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
48002
48003 2005-09-12  Derek Price  <derek@ximbiot.com>
48004
48005         * lib/gai_strerror.c: Include config.h when available.  Include
48006         getaddrinfo.h before other headers to test interface.
48007         Reported by Larry Jones <lawrence.jones@ugs.com>.
48008
48009 2005-09-12  Derek Price  <derek@ximbiot.com>
48010             Paul Eggert  <eggert@cs.ucla.edu>
48011
48012         * modules/glob (Files): Add glob-libc.h.
48013
48014 2005-09-12  Derek Price  <derek@ximbiot.com>
48015             Paul Eggert  <eggert@cs.ucla.edu>
48016
48017         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
48018         glob_.h, glob-libc.h.
48019         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
48020
48021 2005-09-12  Derek Price  <derek@ximbiot.com>
48022             Paul Eggert  <eggert@cs.ucla.edu>
48023
48024         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
48025         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
48026         protecting things that should be done only in gnulib contexts.
48027         * lib/glob_.h: New file, containing only the glob things needed for
48028         gnulib.
48029         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
48030         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
48031         (glob, globfree, glob_pattern_p): Now defined simply in terms of
48032         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
48033         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
48034         and to respect the namespace rules better.
48035
48036 2005-09-08  Simon Josefsson  <jas@extundo.com>
48037
48038         * modules/socklen: New file.
48039
48040 2005-09-08  Simon Josefsson  <jas@extundo.com>
48041
48042         * m4/socklen.m4: New file.
48043
48044 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
48045
48046         * modules/utimens (Files): Add m4/utimbuf.m4, since
48047         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
48048         Reported by Sergey Poznyakoff.
48049
48050 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
48051
48052         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
48053         definitions, since that's the preferred style in glibc.
48054         Fix a minor spacing issue, and update copyright notice to match
48055         glibc's.
48056
48057 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
48058
48059         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
48060
48061 2005-09-06  Simon Josefsson  <jas@extundo.com>
48062
48063         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
48064         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
48065
48066 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48067
48068         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
48069         warning.
48070
48071 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48072
48073         * config/srclist.txt: Add glibc bug 1302.
48074
48075 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
48076
48077         Change bitset word type from unsigned int to unsigned long int,
48078         as this has better performance on typical 64-bit hosts.
48079         Port bitset code to hosts with unusual word sizes.
48080         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
48081         (build_collating_symbol):
48082         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
48083         argument is a bitset.  This is merely a style issue, but it makes
48084         it clearer that an entire array is expected.
48085         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
48086         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
48087         Port to the case where bitset_word is not the same as unsigned int.
48088         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
48089         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
48090         Likewise.
48091         * lib/regexec.c (check_dst_limits_calc_pos_1,
48092         check_subexp_matching_top):
48093         (build_trtable, group_nodes_into_DFAstates):
48094         Likewise.
48095         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
48096         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
48097         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
48098         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
48099         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
48100         * lib/regcomp.c (optimize_subexps, lower_subexp):
48101         Work even if bitset_word has holes in its bitwise representation.
48102         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
48103         * lib/regexec.c (check_dst_limits_calc_pos_1,
48104         check_subexp_matching_top):
48105         Likewise.
48106         * lib/regex_internal.c (re_string_reconstruct):
48107         Don't assume UCHAR_MAX == 255.
48108         * lib/regex_internal.h (bitset_set_all): Likewise.
48109         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
48110         All uses changed.
48111         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
48112         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
48113         All uses changed.
48114         (BITSET_WORD_MAX): New macro.
48115         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
48116         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
48117         (bitset_empty, bitset_copy):
48118         Prefer sizeof (bitset) to multiplying it out ourselves.
48119         (bitset_not_merge): Remove; unused.
48120         (bitset_contain): Return bool, not unsigned int with one bit on.
48121         All callers changed.
48122         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
48123         alignment than re_node_set; do this by defining a new internal
48124         type struct dests_alloc and using it to allocate memory.
48125
48126 2005-09-05  Bruno Haible  <bruno@clisp.org>
48127
48128         * gnulib-tool (func_import): Fix comparison in handling of symbolic
48129         links.
48130
48131 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
48132
48133         * modules/size_max (Makefile.am): Add size_max.h
48134
48135 2005-09-04  Derek Price  <derek@ximbiot.com>
48136
48137         * gnulib-tool (func_import): Fix reversed $symbolic logic.
48138
48139 2005-09-03  Simon Josefsson  <jas@extundo.com>
48140
48141         * gnulib-tool: Fix typo.
48142
48143 2005-09-03  Simon Josefsson  <jas@extundo.com>
48144
48145         * config/srclist.txt: Add glibc bug 1293.
48146
48147 2005-09-03  Derek Price  <derek@ximbiot.com>
48148
48149         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
48150         From Larry Jones <lawrence.jones@ugs.com>.
48151
48152 2005-09-02  Simon Josefsson  <jas@extundo.com>
48153
48154         * modules/socklen: New file.
48155
48156 2005-09-02  Simon Josefsson  <jas@extundo.com>
48157
48158         * modules/havelib: New module.
48159
48160         * modules/gettext, modules/iconv, modules/lock, modules/readline:
48161         Use havelib.
48162
48163 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48164
48165         Check for arithmetic overflow when calculating sizes, to prevent
48166         some buffer-overflow issues.  These patches are conservative, in the
48167         sense that when I couldn't determine whether an overflow was possible,
48168         I inserted a run-time check.
48169         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
48170         macros.
48171         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
48172         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
48173         (re_xnrealloc, re_x2nrealloc): New inline functions.
48174         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
48175         parse_bracket_exp):
48176         (build_equiv_class, build_charclass): Check for arithmetic overflow
48177         in size expression calculations.
48178         * lib/regex_internal.c (re_string_realloc_buffers):
48179         (build_wcs_upper_buffer, re_node_set_add_intersect):
48180         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
48181         (re_dfa_add_node, register_state): Likewise.
48182         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
48183         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
48184         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
48185         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
48186
48187 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48188
48189         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
48190         m4/ulonglong.m4.  Problem reported by Martin Lambers.
48191
48192 2005-09-02  Bruno Haible  <bruno@clisp.org>
48193
48194         Support for lib vs. lib64 distinction on biarch platforms.
48195         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
48196         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
48197         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
48198
48199 2005-09-02  Bruno Haible  <bruno@clisp.org>
48200
48201         * gnulib-tool (import): In the other first-use case, provide defaults
48202         as well.
48203
48204 2005-09-02  Bruno Haible  <bruno@clisp.org>
48205
48206         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
48207         patches not yet found in the latest gettext release.
48208
48209 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48210
48211         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
48212         to avoid a collision with bits/local_lim.h in glibc.
48213         All uses changed.  Problem reported by Dmitry V. Levin in
48214         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
48215
48216         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
48217         bugs in int versus size_t comparisons.
48218         (re_string_context_at): Fix bug where the code assumed that
48219         Idx is signed.
48220
48221         Use bool where appropriate.
48222         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
48223         All callers changed.
48224         (calc_eclosure_iter): Likewise, for ROOT arg.
48225         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
48226         (build_charclass_op): Likewise, for NON_MATCH arg.
48227         * lib/regex_internal.c (re_string_allocate, re_string_construct):
48228         (re_string_construct_common): Likewise, for ICASE arg.
48229         * lib/regexec.c (re_search_2_stub, re_search_stub):
48230         Likewise, for RET_LEN arg.
48231         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
48232         (set_regs): Likewise, for FL_BACKTRACK arg.
48233         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
48234         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
48235         (calc_eclosure_iter, parse_bracket_exp):
48236         Use bool for internal variables that are booleans.
48237         * lib/regexec.c (re_search_internal, check_matching,
48238         proceed_next_node):
48239         (set_regs, build_sifted_states, sift_states_bkref):
48240         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
48241         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
48242         (find_collation_sequence_value):
48243         Likewise.
48244         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
48245         (re_node_set_compare):
48246         Return bool, not int. All callers changed.
48247         * lib/regexec.c (check_halt_node_context, check_dst_limits):
48248         (build_trtable, check_node_accept): Likewise.
48249         * lib/regex_internal.h: Include stdbool.h.
48250
48251         Fix bugs uncovered when converting to bool.
48252         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
48253         failure instead of charging ahead blindly.
48254         * lib/regex_internal.c (register_state): Likewise.
48255         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
48256         for freeing internal storage.
48257         (group_nodes_into_DFA_states): Use unsigned int, not int, for
48258         bitset pieces used as boolean, to avoid undefined behavior
48259         on hosts that do int overflow checking.
48260
48261 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48262
48263         * config/srclist.txt: Add glibc bugs 1285-1287.
48264
48265 2005-09-01  Jim Meyering  <jim@meyering.net>
48266
48267         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
48268         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
48269         Require gl_STAT_MACROS, too.
48270
48271 2005-09-01  Bruno Haible  <bruno@clisp.org>
48272
48273         * gnulib-tool (import): In the first-use case, provide defaults.
48274
48275 2005-09-01  Bruno Haible  <bruno@clisp.org>
48276
48277         * gnulib-tool (func_import): Remove the .tmp files.
48278
48279 2005-09-01  Bruno Haible  <bruno@clisp.org>
48280
48281         * gnulib-tool (func_import): Fix handling of symbolic links.
48282
48283 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48284
48285         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
48286         old glibc regex code mishandles strings longer than 2**31 bytes.
48287         This patch fixes this when the regex code is used in gnulib
48288         (i.e., outside glibc).
48289
48290         This patch should not affect the use of the regex code inside
48291         glibc.  No doubt this problem also needs to be handled for glibc
48292         as well, but the result will be an incompatible change to the
48293         glibc ABI, and the old ABI will have to be supported too.  That
48294         can be the the subject for another patch.
48295
48296         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
48297         governing whether the rest of this patch is active.  By default,
48298         the macro is disabled and the patch has no effect.
48299         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
48300         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
48301         (struct re_pattern_buffer, re_search, re_search_2, re_match):
48302         (re_match_2, re_set_registers): Use the new types.
48303         * lib/regex_internal.h (Idx, re_hashval_t): New types.
48304         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
48305         New macros.
48306         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
48307         (re_string_context_at, bin_tree_t, re_dfastate_t):
48308         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
48309         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
48310         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
48311         (re_string_char_size_at, re_string_wchar_at):
48312         (re_string_elem_size_at):
48313         Use the new types and macros to port to 64-bit hosts.
48314         Use unsigned types for internal values, so that the code
48315         mostly works even for arrays larger than SSIZE_MAX.
48316         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
48317         (search_duplicated_node, calc_eclosure_iter, fetch_number):
48318         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
48319         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
48320         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
48321         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
48322         (calc_inveclosure, parse_dup_op, build_range_exp):
48323         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
48324         (fetch_number, create_token_tree, mark_opt_subexp):
48325         Likewise.
48326         * lib/regex_internal.c (re_string_construct_common,
48327         create_ci_newstate):
48328         (create_cd_newstate, re_string_allocate, re_string_construct):
48329         (re_string_realloc_buffers, build_wcs_upper_buffer):
48330         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
48331         (re_string_reconstruct, re_string_peek_byte_case):
48332         (re_string_fetch_byte_case, re_string_context_at):
48333         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
48334         (re_node_set_init_copy, re_node_set_add_intersect):
48335         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48336         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48337         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
48338         (re_acquire_state, re_acquire_state_context, register_state):
48339         Likewise.
48340         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
48341         search_cur_bkref_entry):
48342         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
48343         (re_search_internal, re_search_2_stub, re_search_stub)
48344         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
48345         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
48346         (update_cur_sifted_state, check_dst_limits):
48347         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
48348         (check_subexp_limits, sift_states_bkref, merge_state_array):
48349         (check_subexp_matching_top, get_subexp, get_subexp_sub):
48350         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
48351         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
48352         (expand_bkref_cache, check_node_accept_bytes):
48353         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
48354         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
48355         (acquire_init_state_context, check_halt_node_context):
48356         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
48357         (sift_states_backward, clean_state_log_if_needed):
48358         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
48359         (find_recover_state, transit_state_sb, transit_state_mb):
48360         (transit_state_bkref, build_trtable, match_ctx_clean):
48361         Likewise.
48362         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
48363         to work around an assumption that REG_MISSING is negative.
48364
48365         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
48366         (seek_collating_symbol_entry) [defined _LIBC]:
48367         (lookup_collation_sequence_value) [defined _LIBC]:
48368         (build_range_exp, build_collating_symbol) [defined _LIBC]:
48369         Use prototypes rather than old-style function definitions.
48370         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
48371         (transit_state_sb) [0]:
48372         (find_collation_sequence_value) [defined _LIBC]: Likewise.
48373
48374         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
48375         rm_eo.
48376
48377         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
48378         (optimize_subexps, lower_subexp):
48379         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
48380         since the signed shift might overflow.  Use 1u<<31 instead.
48381         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
48382         Likewise.
48383         * lib/regexec.c (check_dst_limits_calc_pos_1,
48384         check_subexp_matching_top): Likewise.
48385
48386         * lib/regcomp.c (optimize_subexps, lower_subexp):
48387         Use CHAR_BIT rather than 8, for clarity.
48388         * lib/regexec.c (check_dst_limits_calc_pos_1):
48389         (check_subexp_matching_top): Likewise.
48390         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
48391         have to worry about portability issues when shifting it left.
48392         Remove no-longer-needed test for table_size > 0.
48393         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
48394         in a word, as the resulting behavior is undefined.
48395         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
48396         in one case, a <= should have been an <, and in another case the
48397         whole test was missing.
48398         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
48399         the standard name CHAR_BIT.
48400         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
48401         this is not true on one's complement and signed-magnitude hosts.
48402
48403         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
48404         next_last_offset.
48405         (struct re_dfa_t): Remove unused member states_alloc.
48406         * lib/regcomp.c (init_dfa): Don't initialize unused members.
48407
48408 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48409
48410         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
48411         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
48412         and large-file glibc and in 32-bit large-file Solaris.
48413
48414 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48415
48416         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
48417         lengths fit in regoff_t; this isn't true if regoff_t is the same
48418         width as size_t.
48419         * lib/regex.c (re_search_internal): 5th arg is LAST_START
48420         (= START + RANGE) instead of RANGE.  This avoids overflow
48421         problems when regoff_t is the same width as size_t.
48422         All callers changed.
48423         (re_search_2_stub): Check for overflow when adding the
48424         sizes of the two strings.
48425         (re_search_stub): Check for overflow when adding START
48426         to RANGE; if it occurs, substitute the extreme value.
48427
48428 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48429
48430         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
48431
48432 2005-08-31  Jim Meyering  <jim@meyering.net>
48433
48434         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
48435         a pointer-to-const.
48436         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
48437         (register_state): Likewise.
48438         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
48439         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
48440         (group_nodes_into_DFAstates): Likewise.
48441
48442 2005-08-31  Jim Meyering  <jim@meyering.net>
48443
48444         * check-module: Add a FIXME comment.
48445
48446 2005-08-31  Eric Blake  <ebb9@byu.net>
48447
48448         * modules/unistd-safer (Files): Add unistd--.h.
48449         * modules/stdio-safer (Files): Add stdio--.h.
48450
48451 2005-08-31  Derek Price  <derek@ximbiot.com>
48452
48453         * lib/getdelim.c (getdelim): Return EOF on EOF.
48454         Reported by Larry Jones <lawrence.jones@ugs.com>.
48455
48456 2005-08-31  Bruno Haible  <bruno@clisp.org>
48457
48458         Avoid unnecessary diffs in the generated lib/Makefile.am.
48459         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
48460         the generated files.
48461         (func_import): Don't set cmd.
48462
48463 2005-08-31  Bruno Haible  <bruno@clisp.org>
48464
48465         * lib/strstr.c: Include <stddef.h>, for NULL.
48466         * lib/strcasestr.c: Likewise.
48467         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48468
48469 2005-08-31  Bruno Haible  <bruno@clisp.org>
48470
48471         * gnulib-tool: New option --macro-prefix.
48472         (func_import): Use macro_prefix.
48473         (import): Handle option --macro-prefix.
48474
48475 2005-08-31  Bruno Haible  <bruno@clisp.org>
48476
48477         * gnulib-tool (import): Rename most ac_* variables to cached_*.
48478         Also use new variables cached_lgpl, cached_libtool.
48479
48480 2005-08-31  Bruno Haible  <bruno@clisp.org>
48481
48482         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
48483         always instantiating them.
48484
48485 2005-08-31  Bruno Haible  <bruno@clisp.org>
48486
48487         * gnulib-tool (func_import): Read the previous cached settings
48488         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
48489         earlier added by gnulib but are now dropped. Warn when a gnulib file
48490         overwrites a non-gnulib file.
48491
48492 2005-08-31  Bruno Haible  <bruno@clisp.org>
48493
48494         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
48495         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
48496         projects that don't keep autogenerated files in CVS. Put into
48497         actioncmd only the specified modules, not the transitive closure.
48498
48499 2005-08-31  Bruno Haible  <bruno@clisp.org>
48500
48501         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
48502         Create directories that shall be filled.
48503         (import): Don't look for gl_* macros in configure.ac. Recurse across
48504         all directories containing a gnulib-cache.m4 files, if meaningful.
48505
48506 2005-08-31  Bruno Haible  <bruno@clisp.org>
48507
48508         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
48509         (import): Set seen_libtool when we see gl_LIBTOOL.
48510
48511 2005-08-31  Bruno Haible  <bruno@clisp.org>
48512
48513         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
48514         declaration macro definitions from generated gnulib.m4.
48515
48516 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
48517
48518         * lib/iconvme.h: Add prototype for iconv_alloc.
48519
48520 2005-08-29  Simon Josefsson  <jas@extundo.com>
48521
48522         * lib/iconvme.c: Fix errno.
48523
48524 2005-08-29  Bruno Haible  <bruno@clisp.org>
48525
48526         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
48527         that it works when the directory contains spaces.
48528
48529 2005-08-29  Bruno Haible  <bruno@clisp.org>
48530
48531         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
48532
48533 2005-08-29  Bruno Haible  <bruno@clisp.org>
48534
48535         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
48536         Emit more advice.
48537
48538 2005-08-29  Bruno Haible  <bruno@clisp.org>
48539         and Stepan Kasal  <kasal@ucw.cz>
48540
48541         * check-module: If more parameters are given, check each of them
48542         separately; add more exceptions, as noted by Jim Meyering.
48543         (check_module): New procedure.
48544         (%exempt_header): Now contains all exceptions.
48545
48546 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
48547
48548         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
48549
48550 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
48551
48552         * lib/iconvme.c: Split iconv_string into iconv_alloc.
48553
48554 2005-08-28  Bruno Haible  <bruno@clisp.org>
48555
48556         * m4/gnulib-tool.m4: New file.
48557
48558 2005-08-27  Jim Meyering  <jim@meyering.net>
48559
48560         * modules/unistd-safer (Files): Add pipe-safer.c.
48561         * modules/fcntl-safer (Files): Add creat-safer.c.
48562
48563 2005-08-27  Jim Meyering  <jim@meyering.net>
48564
48565         * m4/stdlib-safer.m4: New file.  From coreutils.
48566         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
48567         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
48568         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
48569         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
48570         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
48571
48572 2005-08-27  Jim Meyering  <jim@meyering.net>
48573
48574         * lib/fopen-safer.c: Merge minor changes from coreutils.
48575         * lib/dup-safer.c: Likewise.
48576         * lib/fd-safer.c: Likewise.
48577
48578         Merge from coreutils.
48579         * lib/stdio--.h: New file.
48580         * lib/stdlib--.h: New file.
48581         * lib/mkstemp-safer.c: New file.
48582
48583         GNU tar needs these.
48584         * lib/pipe-safer.c: New file.
48585         * lib/creat-safer.c: New file.
48586         * lib/fcntl--.h (creat): Define to creat_safer.
48587         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
48588         * lib/unistd--.h (pipe): Define to pipe_safer.
48589         * lib/unistd-safer.h: Declare pipe_safer.
48590
48591 2005-08-26  Simon Josefsson  <jas@extundo.com>
48592
48593         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
48594         Haible <bruno@clisp.org>.
48595
48596 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
48597
48598         * lib/regex_internal.h: Remove all references to
48599         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
48600         or better.
48601         (bitset_not, bitset_merge, bitset_not_merge):
48602         (bitset_mask, re_string_allocate, re_string_construct):
48603         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
48604         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
48605         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
48606         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
48607         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48608         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48609         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
48610         (re_acquire_state_context):
48611         Remove unnecessary forward decls.
48612         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
48613         Put __attribute at function definition,
48614         now that the function decl has been removed.
48615         * lib/regex_internal.c (re_string_peek_byte_case):
48616         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
48617         Likewise.
48618
48619 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
48620
48621         * m4/regex.m4: Add AC_PREREQ(2.50).
48622         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
48623
48624 2005-08-25  Simon Josefsson  <jas@extundo.com>
48625
48626         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
48627         __fsetlocking.
48628
48629 2005-08-25  Simon Josefsson  <jas@extundo.com>
48630
48631         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
48632         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
48633         GLIBC specific code.
48634
48635 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48636
48637         Make regex safe for g++.  This fixes one real bug (an "err"
48638         that should have been "*err").  g++ problem reported by
48639         Sam Steingold.
48640         * lib/regex_internal.h (re_calloc): New macro, consistent with
48641         re_malloc etc.  All callers of calloc changed to use re_calloc.
48642         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
48643         not int.  All callers changed.
48644         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
48645         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
48646         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
48647         (find_recover_state): Change "err" to "*err"; this fixes what
48648         appears to be a real bug.
48649         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
48650         versus int.
48651
48652 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48653
48654         * modules/regex (Depends-on): Add malloc, since the code
48655         assumes that !malloc(0) means failure.
48656
48657 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48658
48659         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
48660
48661         alloca modernization/simplification for regex.
48662         * lib/regex.c: Remove portability cruft for alloca.  This no longer
48663         needs to be at the start of the file, and can be moved into
48664         regex_internal.h and simplified.
48665         * lib/regex_internal.h: Include <alloca.h>.
48666         (__libc_use_alloca) [!defined _LIBC]: New macro.
48667         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
48668         now works outside glibc.
48669
48670 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48671
48672         * config/srclist.txt: Add glibc bugs 1241, 1245.
48673
48674 2005-08-25  Jim Meyering  <jim@meyering.net>
48675
48676         * lib/open-safer.c: Include <config.h>.
48677         Otherwise, we'd lose LARGEFILE support in any file using
48678         e.g. "fcntl--.h"
48679
48680 2005-08-25  Bruno Haible  <bruno@clisp.org>
48681
48682         * m4/minmax.m4: Require autoconf 2.52.
48683         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
48684         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
48685         alternatives of translit over the alphabet.
48686         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
48687
48688 2005-08-24  Simon Josefsson  <jas@extundo.com>
48689
48690         * tests/test-getpass.c: New file.
48691
48692 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48693
48694         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
48695         for GNU regex features.
48696
48697 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48698
48699         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
48700         * lib/regex.h (regerror): Likewise.
48701
48702         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
48703         requires this.  (The code never needed it.)
48704
48705         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
48706         All uses of recently-renamed identifiers changed to use the new,
48707         POSIX-compliant names.  The code will build and run just fine
48708         without these changes, but it's better to eat our own dog food
48709         and use the standard-conforming names.
48710
48711         * lib/regex.h: Fix a multitude of POSIX name space violations.
48712         These changes have an effect only for programs that define
48713         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
48714         do not change anything for programs compiled in the normal way.
48715         Also, there is no effect on the ABI.
48716
48717         (_REGEX_SOURCE): New macro.
48718         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
48719         defined and _GNU_SOURCE is not; this fixes a name space violation.
48720
48721         Rename the following macros to obey POSIX requirements.
48722         The old names are still visible as macros if _REGEX_SOURCE is defined.
48723         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
48724         RE_BACKSLASH_ESCAPE_IN_LISTS.
48725         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
48726         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
48727         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
48728         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
48729         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
48730         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
48731         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
48732         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
48733         (REG_INTERVALS): renamed from RE_INTERVALS.
48734         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
48735         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
48736         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
48737         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
48738         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
48739         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
48740         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
48741         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
48742         RE_UNMATCHED_RIGHT_PAREN_ORD.
48743         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
48744         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
48745         (REG_DEBUG): renamed from RE_DEBUG.
48746         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
48747         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
48748         unusual, since we can't clash with the POSIX REG_ICASE.
48749         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
48750         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
48751         (REG_NO_SUB): renamed from RE_NO_SUB.
48752         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
48753         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
48754         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
48755         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
48756         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
48757         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
48758         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
48759         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
48760         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
48761         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
48762         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
48763         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
48764         RE_SYNTAX_POSIX_MINIMAL_BASIC.
48765         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
48766         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
48767         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
48768         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
48769         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
48770         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
48771         (REG_FIXED): Renamed from REGS_FIXED.
48772         (REG_NREGS): Renamed from RE_NREGS.
48773
48774         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
48775         of other REG_* macros, since POSIX says the user is allowed to
48776         #undef these macros selectively.
48777
48778         (reg_errcode_t): Update comment stating what other tables need
48779         to be consistent.
48780
48781         Rename the following enum values to obey POSIX requirements.
48782         The old names are still visible as macros.
48783         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
48784         is not defined, since GNU is supposed to be a superset of POSIX as
48785         much as possible, and since we want reg_errcode_t to be a signed
48786         type for implementation consistency.
48787         (_REG_NOERROR): Renamed from REG_NOERROR.
48788         (_REG_NOMATCH): Renamed from REG_NOMATCH.
48789         (_REG_BADPAT): Renamed from REG_BADPAT.
48790         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
48791         (_REG_ECTYPE): Renamed from REG_ECTYPE.
48792         (_REG_EESCAPE): Renamed from REG_EESCAPE.
48793         (_REG_ESUBREG): Renamed from REG_ESUBREG.
48794         (_REG_EBRACK): Renamed from REG_EBRACK.
48795         (_REG_EPAREN): Renamed from REG_EPAREN.
48796         (_REG_EBRACE): Renamed from REG_EBRACE.
48797         (_REG_BADBR): Renamed from REG_BADBR.
48798         (_REG_ERANGE): Renamed from REG_ERANGE.
48799         (_REG_ESPACE): Renamed from REG_ESPACE.
48800         (_REG_BADRPT): Renamed from REG_BADRPT.
48801         (_REG_EEND): Renamed from REG_EEND.
48802         (_REG_ESIZE): Renamed from REG_ESIZE.
48803         (_REG_ERPAREN): Renamed from REG_ERPAREN.
48804         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
48805         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
48806         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
48807         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
48808
48809         (_REG_RE_NAME, _REG_RM_NAME): New macros.
48810         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
48811         changed.  But support the old name if the new one is not defined
48812         and if _REGEX_SOURCE.
48813
48814         Change the following member names in struct re_pattern_buffer.
48815         The old names are still supported if !_REGEX_SOURCE.
48816         The new names are always supported, regardless of _REGEX_SOURCE.
48817         (re_buffer): Renamed from buffer.
48818         (re_allocated): Renamed from allocated.
48819         (re_used): Renamed from used.
48820         (re_syntax): Renamed from syntax.
48821         (re_fastmap): Renamed from fastmap.
48822         (re_translate): Renamed from translate.
48823         (re_can_be_null): Renamed from can_be_null.
48824         (re_regs_allocated): Renamed from regs_allocated.
48825         (re_fastmap_accurate): Renamed from fastmap_accurate.
48826         (re_no_sub): Renamed from no_sub.
48827         (re_not_bol): Renamed from not_bol.
48828         (re_not_eol): Renamed from not_eol.
48829         (re_newline_anchor): Renamed from newline_anchor.
48830
48831         Change the following member names in struct re_registers.
48832         The old names are still supported if !_REGEX_SOURCE.
48833         The new names are always supported, regardless of _REGEX_SOURCE.
48834         (rm_num_regs): Renamed from num_regs.
48835         (rm_start): Renamed from start.
48836         (rm_end): Renamed from end.
48837
48838         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
48839         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
48840         Prepend __ to parameter names.
48841
48842         Undo yesterday's changes.
48843
48844 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48845
48846         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
48847         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
48848         lib/regex.c.
48849
48850 2005-08-24  Jim Meyering  <jim@meyering.net>
48851
48852         Sync from coreutils.
48853         * m4/fcntl-safer.m4: New file.
48854
48855         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
48856         and object files for this module.
48857
48858 2005-08-24  Jim Meyering  <jim@meyering.net>
48859
48860         Sync from coreutils.
48861         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
48862
48863 2005-08-24  Jim Meyering  <jim@meyering.net>
48864
48865         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
48866         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
48867
48868 2005-08-24  Jim Meyering  <jim@meyering.net>
48869
48870         * modules/fcntl-safer: New module.
48871         * modules/fts (Depends-on): Add fcntl-safer.
48872         * MODULES.html.sh (File descriptor based Input/Output):
48873         Add fcntl-safer.
48874
48875 2005-08-24  Bruno Haible  <bruno@clisp.org>
48876
48877         Support for unit test modules.
48878         * modules/README: Mention tests modules.
48879         * modules/TEMPLATE-TESTS: New file.
48880         * gnulib-tool: New options --extract-tests-module, --with-tests and
48881         --tests-base (unused for the moment).
48882         (testsbase, inctests): New variables.
48883         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
48884         (func_verify_module): Exclude TEMPLATE-TESTS.
48885         (func_verify_nontests_module, func_verify_tests_module): New functions.
48886         (func_get_dependencies): Add implicit dependency for tests modules.
48887         (func_get_tests_module): New function.
48888         (func_modules_transitive_closure): When --with-tests was specified,
48889         include the unit tests as well, unless explicitly avoided.
48890         (func_emit_lib_Makefile_am): Ignore the tests modules here.
48891         (func_emit_tests_Makefile_am): New function.
48892         (func_create_testdir): When --with-tests was specified, emit a
48893         tests/ directory.
48894         * MODULES.html.sh (Future developments): Update.
48895
48896 2005-08-24  Bruno Haible  <bruno@clisp.org>
48897
48898         * modules/tls-tests: New file.
48899         * tests/test-tls.c: New file, from GNU gettext.
48900
48901 2005-08-24  Bruno Haible  <bruno@clisp.org>
48902
48903         * modules/lock-tests: New file.
48904         * tests/test-lock.c: New file, from GNU gettext.
48905
48906 2005-08-24  Bruno Haible  <bruno@clisp.org>
48907
48908         * lib/lock.h: Add multiple inclusion guard.
48909         * lib/tls.h: Add multiple inclusion guard.
48910
48911 2005-08-24  Bruno Haible  <bruno@clisp.org>
48912
48913         * gnulib-tool: Add support for the --aux-dir option to
48914         --create-testdir, --create-megatestdir, --test, --megatest.
48915         (func_create_testdir, func_create_megatestdir): Optionally emit a
48916         AC_CONFIG_AUX_DIR directive.
48917         (create-testdir, create-megatestdir, test, megatest): Provide a
48918         default value for $auxdir.
48919
48920 2005-08-24  Bruno Haible  <bruno@clisp.org>
48921
48922         * gnulib-tool (import): Use compound statement instead of subshell
48923         where possible.
48924
48925 2005-08-24  Bruno Haible  <bruno@clisp.org>
48926
48927         * gnulib-tool (import): Change --aux-dir default to "build-aux".
48928
48929 2005-08-24  Bruno Haible  <bruno@clisp.org>
48930
48931         * gnulib-tool (func_version): Update.
48932
48933 2005-08-24  Bruno Haible  <bruno@clisp.org>
48934
48935         * gnulib-tool (func_import, func_create_testdir,
48936         func_create_megatestdir): Quote all autoconf macro arguments.
48937
48938 2005-08-24  Bruno Haible  <bruno@clisp.org>
48939
48940         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
48941         option --force, because --force causes the aclocal.m4 of each
48942         subdirectory to be newer than the corresponding config.h.in.
48943
48944 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48945
48946         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
48947         All contents moved to gl_REGEX.
48948         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
48949         assume that it does.
48950
48951 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48952
48953         * lib/regex.h (REG_NOSYS)
48954         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
48955         Define, since POSIX requires it as of 2001.
48956         (_REG_ENOSYS)
48957         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
48958         New private symbol, used to keep the enum signed in all cases.
48959         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
48960         Youngman in
48961         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
48962
48963         * lib/regex_internal.c (re_string_skip_chars, register_state):
48964         (calc_state_hash):
48965         Remove forward decls; no longer needed now that we use prototypes.
48966         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
48967         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
48968         (clean_state_log_if_needed): Likewise.
48969
48970 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48971
48972         * config/srclist.txt: Add glibc bugs 1231-1233.
48973
48974 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48975
48976         Fix problems reported by Sam Steingold in
48977         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
48978         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
48979         assumed that reg_errcode_t is a signed type, which is not
48980         necessarily true if _XOPEN_SOURCE is not defined.
48981         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
48982         since some compilers warn about it otherwise.
48983
48984 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48985
48986         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
48987         (init_word_char, create_initial_state, duplicate_node_closure):
48988         (fetch_token, peek_token_bracket, build_range_exp):
48989         (build_collating_symbol): Remove forward decls; no longer needed
48990         now that we use prototypes.
48991
48992         * lib/regcomp.c:
48993         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
48994         (re_compile_fastmap_iter, regcomp, regerror, regfree):
48995         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
48996         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
48997         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
48998         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
48999         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
49000         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
49001         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
49002         (build_range_exp, build_collating_symbol, parse_bracket_exp):
49003         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
49004         (build_charclass, build_charclass_op, fetch_number, create_tree):
49005         (create_token_tree, mark_opt_subexp, duplicate_tree):
49006         Use prototypes rather than old-style definitions.
49007
49008         * lib/regex_internal.c:
49009         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
49010         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
49011         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
49012         (re_string_reconstruct, re_string_peek_byte_case):
49013         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
49014         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
49015         (re_node_set_init_copy, re_node_set_add_intersect):
49016         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
49017         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
49018         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
49019         (re_acquire_state, re_acquire_state_context, register_state):
49020         (create_ci_newstate, create_cd_newstate, free_state):
49021         Likewise.
49022         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
49023         re_search_2):
49024         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
49025         (re_search_internal, prune_impossible_nodes):
49026         (acquire_init_state_context, check_matching, static):
49027         (check_halt_node_context, check_halt_state_context, proceed_next_node):
49028         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
49029         (update_regs, sift_states_backward, build_sifted_states):
49030         (clean_state_log_if_needed, merge_state_array):
49031         (update_cur_sifted_state, add_epsilon_src_nodes):
49032         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
49033         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
49034         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
49035         (find_recover_state, check_subexp_matching_top, transit_state_mb):
49036         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
49037         (check_arrival, check_arrival_add_next_nodes):
49038         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
49039         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
49040         (check_node_accept_bytes, check_node_accept, extend_buffers):
49041         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
49042         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
49043         (sift_ctx_init):
49044         Likewise.
49045
49046         * lib/regex_internal.h:
49047         (re_string_allocate, re_string_construct, re_string_reconstruct):
49048         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
49049         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
49050         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
49051         (re_string_context_at, re_string_peek_byte_case):
49052         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
49053         is defined, since we now use prototypes always.
49054
49055         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
49056         C89 or better.  All uses removed.
49057
49058 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
49059
49060         * config/srclist.txt: Add glibc bugs 1220-1227.
49061
49062 2005-08-20  Jim Meyering  <jim@meyering.net>
49063
49064         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
49065         of unused local, dfa.
49066
49067 2005-08-20  Bruno Haible  <bruno@clisp.org>
49068
49069         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
49070
49071 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49072
49073         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
49074         (re_node_set_insert_last, re_dfa_add_node):
49075         Rename local variables to avoid GCC shadowing warnings.
49076
49077 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49078
49079         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
49080         [defined lint]: Suppress bogus uninitialized-variable warnings.
49081
49082         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
49083         and let the caller return REG_ESPACE if out of space.  This
49084         removes an uninitialied-variable warning with GCC 4.0.1, and also
49085         avoids taking the address of a local variable.  All callers
49086         changed.
49087
49088 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49089
49090         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
49091         $LIBCSRC/posix/regexec.c.
49092         Add glibc bug 1217 for regcomp.c.
49093
49094 2005-08-19  Jim Meyering  <jim@meyering.net>
49095
49096         * lib/regexec.c (proceed_next_node): Redo local variables to
49097         avoid GCC shadowing warnings.
49098
49099 2005-08-18  Bruno Haible  <bruno@clisp.org>
49100
49101         * lib/strstr.c (strstr): Fix return value in multibyte case.
49102         * lib/strcasestr.c (strcasestr): Likewise.
49103
49104 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
49105
49106         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
49107
49108 2005-08-17  Jim Meyering  <jim@meyering.net>
49109
49110         Make the %s format (seconds since the epoch) work for a negative
49111         number and when used with a zero-padded field width, e.g. %015s.
49112
49113         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
49114         label so that it precedes the code to set `digits'.  Otherwise,
49115         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
49116         print `00-22'.  Now, it prints `-0022', as it should.
49117
49118 2005-08-17  Bruno Haible  <bruno@clisp.org>
49119
49120         * modules/strstr (Files): Add m4/mbrtowc.m4.
49121         (Depends-on): Add mbuiter.
49122
49123 2005-08-17  Bruno Haible  <bruno@clisp.org>
49124
49125         * modules/strcasestr: New file.
49126         * MODULES.html.sh (String handling, based on ANSI C 89): Add
49127         strcasestr.
49128
49129 2005-08-17  Bruno Haible  <bruno@clisp.org>
49130
49131         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
49132
49133 2005-08-17  Bruno Haible  <bruno@clisp.org>
49134
49135         * modules/mbuiter: New file.
49136         * MODULES.html.sh (Extended multibyte and wide character utilities):
49137         Add mbuiter.
49138
49139 2005-08-17  Bruno Haible  <bruno@clisp.org>
49140
49141         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
49142         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
49143
49144 2005-08-17  Bruno Haible  <bruno@clisp.org>
49145
49146         * m4/strcasestr.m4: New file.
49147
49148 2005-08-17  Bruno Haible  <bruno@clisp.org>
49149
49150         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
49151         * lib/strstr.c: Completely rewritten, with multibyte locale support.
49152
49153 2005-08-17  Bruno Haible  <bruno@clisp.org>
49154
49155         * lib/strcasestr.h: New file.
49156         * lib/strcasestr.c: New file.
49157
49158 2005-08-17  Bruno Haible  <bruno@clisp.org>
49159
49160         * lib/strcasecmp.c: Use mbuiter.h.
49161
49162 2005-08-17  Bruno Haible  <bruno@clisp.org>
49163
49164         * lib/mbuiter.h: New file.
49165
49166 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
49167
49168         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
49169         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
49170         and gl_GETOPT are both invoked via different paths (as happens
49171         with GNU tar CVS because it uses both argp and getopt), the former
49172         wins.
49173
49174 2005-08-16  Bruno Haible  <bruno@clisp.org>
49175
49176         * modules/tls: New file.
49177         * MODULES.html.sh (Multithreading): Add tls.
49178
49179 2005-08-16  Bruno Haible  <bruno@clisp.org>
49180
49181         * modules/strnlen1: New file.
49182         * MODULES.html.sh (String handling): Add strnlen1.
49183
49184 2005-08-16  Bruno Haible  <bruno@clisp.org>
49185
49186         * modules/strcase (Files): Add m4/mbrtowc.m4.
49187         (Depends-on): Add strnlen1, mbchar.
49188
49189 2005-08-16  Bruno Haible  <bruno@clisp.org>
49190
49191         * modules/mbiter: New file.
49192         * MODULES.html.sh (Extended multibyte and wide character utilities):
49193         Add mbiter.
49194
49195 2005-08-16  Bruno Haible  <bruno@clisp.org>
49196
49197         * modules/mbfile: New file.
49198         * MODULES.html.sh (Extended multibyte and wide character utilities):
49199         Add mbfile.
49200
49201 2005-08-16  Bruno Haible  <bruno@clisp.org>
49202
49203         * modules/mbchar: New file.
49204         * MODULES.html.sh (Extended multibyte and wide character utilities):
49205         New section.
49206
49207 2005-08-16  Bruno Haible  <bruno@clisp.org>
49208
49209         * m4/tls.m4: New file, from GNU gettext.
49210
49211 2005-08-16  Bruno Haible  <bruno@clisp.org>
49212
49213         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
49214         always.
49215         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
49216
49217 2005-08-16  Bruno Haible  <bruno@clisp.org>
49218
49219         * m4/mbiter.m4: New file.
49220
49221 2005-08-16  Bruno Haible  <bruno@clisp.org>
49222
49223         * m4/mbfile.m4: New file.
49224
49225 2005-08-16  Bruno Haible  <bruno@clisp.org>
49226
49227         * m4/mbchar.m4: New file.
49228
49229 2005-08-16  Bruno Haible  <bruno@clisp.org>
49230
49231         * lib/tls.h: New file, from GNU gettext.
49232         * lib/tls.c: New file, from GNU gettext.
49233
49234 2005-08-16  Bruno Haible  <bruno@clisp.org>
49235
49236         * lib/strnlen1.h: New file.
49237         * lib/strnlen1.c: New file.
49238
49239 2005-08-16  Bruno Haible  <bruno@clisp.org>
49240
49241         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
49242         (mbi_init): Update.
49243         (mbi_avail, mbi_advance): Let the iteration end before the terminating
49244         NUL byte, not after it.
49245
49246 2005-08-16  Bruno Haible  <bruno@clisp.org>
49247
49248         * lib/strcase.h (strcasecmp): Add note in comments.
49249         * lib/strncasecmp.c: Use code from strcasecmp.c.
49250         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
49251         (strcasecmp): Work correctly in multibyte locales.
49252
49253 2005-08-16  Bruno Haible  <bruno@clisp.org>
49254
49255         * lib/mbiter.h: New file.
49256
49257 2005-08-16  Bruno Haible  <bruno@clisp.org>
49258
49259         * lib/mbfile.h: New file.
49260
49261 2005-08-16  Bruno Haible  <bruno@clisp.org>
49262
49263         * lib/mbchar.h: New file.
49264         * lib/mbchar.c: New file.
49265
49266 2005-08-16  Bruno Haible  <bruno@clisp.org>
49267
49268         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
49269         the valid ones. Makes the comparison operations transitive:
49270         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
49271         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
49272
49273 2005-08-15  Simon Josefsson  <jas@extundo.com>
49274
49275         * modules/ssize_t (License): Change to 'unlimited'.
49276
49277         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
49278
49279 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49280
49281         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
49282         Add comments for each pending glibc patch.
49283
49284 2005-08-15  Bruno Haible  <bruno@clisp.org>
49285
49286         * lib/regex.h (__restrict_arr): Don't define to __restrict if
49287         __cplusplus is defined.
49288
49289 2005-08-14  Jim Meyering  <jim@meyering.net>
49290
49291         Sync from coreutils.
49292
49293         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
49294         Use the hash-table-based cycle-detection code not just when
49295         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
49296         Reported by James Youngman in
49297         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
49298         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
49299         FTS_TIGHT_CYCLE_CHECK.
49300         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
49301         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
49302         once again.
49303         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
49304         * lib/fts.c (fd_safer): Remove decl.
49305         Include fcntl--.h rather than unistd-safer.h
49306         (fts_safe_changedir): Don't call fd_safer; no longer needed
49307         now that we include fcntl--.h.
49308
49309 2005-08-12  Simon Josefsson  <jas@extundo.com>
49310
49311         * modules/getndelim2: Use ssize_t module.
49312         * modules/getnline: Likewise.
49313         * modules/safe-read: Likewise.
49314         * modules/xreadlink: Likewise.
49315
49316         * modules/ssize_t: New file.
49317
49318 2005-08-12  Simon Josefsson  <jas@extundo.com>
49319
49320         * m4/readline.m4: Look for termcap, curses or ncurses if required.
49321
49322 2005-08-12  Simon Josefsson  <jas@extundo.com>
49323
49324         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49325         ssize_t.
49326
49327 2005-08-12  Simon Josefsson  <jas@extundo.com>
49328
49329         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
49330         readline, getdelim and check_version.
49331         (Support for systems lacking ISO C 99: Sizes of integer types):
49332         Add size_max.
49333
49334 2005-08-12  Bruno Haible  <bruno@clisp.org>
49335
49336         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
49337
49338 2005-08-11  Simon Josefsson  <jas@extundo.com>
49339
49340         * modules/readline: New file.
49341
49342         * modules/strnlen (Files): Add strnlen.h.
49343
49344 2005-08-11  Simon Josefsson  <jas@extundo.com>
49345
49346         * m4/readline.m4: New file.
49347
49348 2005-08-11  Simon Josefsson  <jas@extundo.com>
49349
49350         * lib/readline.h, readline.c: New file.
49351
49352 2005-08-11  Simon Josefsson  <jas@extundo.com>
49353
49354         * doc/gnulib.texi (Initial import, Finishing touches): Mention
49355         gl_AVOID.
49356
49357 2005-08-11  Bruno Haible  <bruno@clisp.org>
49358
49359         * lib/strnlen.h (strnlen): Change parameter name to match comment.
49360
49361 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
49362
49363         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
49364
49365 2005-08-10  Simon Josefsson  <jas@extundo.com>
49366
49367         * tests/test-iconvme.c: New file.
49368
49369 2005-08-10  Simon Josefsson  <jas@extundo.com>
49370
49371         * m4/strnlen.m4: New file.
49372
49373         * m4/strndup.m4: Don't check for strnlen declaration, done in
49374         strnlen.m4.
49375
49376 2005-08-10  Simon Josefsson  <jas@extundo.com>
49377
49378         * lib/strndup.c: Use strnlen.h.
49379
49380         * lib/strnlen.h: New file.
49381
49382 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49383
49384         * README: Typos.
49385
49386 2005-08-02  Simon Josefsson  <jas@extundo.com>
49387
49388         * modules/readline: New file.
49389
49390 2005-08-02  Simon Josefsson  <jas@extundo.com>
49391
49392         * modules/getdelim: New file.
49393
49394         * modules/getline: Rewrite, don't use getndelim2.
49395
49396 2005-08-02  Simon Josefsson  <jas@extundo.com>
49397
49398         * m4/getline.m4: Separate out getdelim stuff into separate module.
49399
49400         * m4/getdelim.m4: New file.
49401
49402 2005-08-02  Simon Josefsson  <jas@extundo.com>
49403
49404         * lib/getline.h, getline.c: Rewrite.
49405
49406         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
49407
49408 2005-07-31  Bruno Haible  <bruno@clisp.org>
49409
49410         * lib/lock.h (gl_lock_initializer): New macro.
49411         (gl_lock_define_initialized): Use it.
49412         (gl_rwlock_initializer): New macro.
49413         (gl_rwlock_define_initialized): Use it.
49414         (gl_recursive_lock_initializer): New macro.
49415         (gl_recursive_lock_define_initialized): Use it.
49416
49417 2005-07-30  Karl Berry  <karl@gnu.org>
49418
49419         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
49420         Report from Ben Pfaff, regarding getopt.
49421
49422 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
49423
49424         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
49425         normal way.
49426         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
49427         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
49428         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
49429         (gl_GETOPT): Use the new macros.  Most of the implementation
49430         is moved to the new macros.  This is for programs like Emacs
49431         that don't want all the functionality of gl_GETOPT.
49432
49433 2005-07-26  Bruno Haible  <bruno@clisp.org>
49434
49435         * m4/lock.m4: Update from GNU gettext.
49436
49437 2005-07-26  Bruno Haible  <bruno@clisp.org>
49438
49439         * lib/lock.h: Update from GNU gettext.
49440         * lib/lock.c: Update from GNU gettext.
49441
49442 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49443
49444         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
49445         obsolescent AC_TRY_RUN.  Include the default includes files, for
49446         'exit'.
49447
49448 2005-07-24  Bruno Haible  <bruno@clisp.org>
49449
49450         * modules/visibility: New file.
49451         * MODULES.html.sh (Misc): Add visibility.
49452
49453 2005-07-24  Bruno Haible  <bruno@clisp.org>
49454
49455         * m4/visibility.m4: New file.
49456
49457 2005-07-24  Bruno Haible  <bruno@clisp.org>
49458
49459         * doc/visibility.texi: New file.
49460
49461 2005-07-22  Bruno Haible  <bruno@clisp.org>
49462
49463         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
49464         $(ALLOCA_H), redundant through BUILT_SOURCES.
49465         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
49466         redundant through BUILT_SOURCES.
49467         * modules/byteswap (Makefile.am): Remove explicit dependency on
49468         $(BYTESWAP_H), redundant through BUILT_SOURCES.
49469         * modules/fnmatch (Makefile.am): Remove explicit dependency on
49470         $(FNMATCH_H), redundant through BUILT_SOURCES.
49471         * modules/getopt (Makefile.am): Remove explicit dependency on
49472         $(GETOPT_H), redundant through BUILT_SOURCES.
49473         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
49474         redundant through BUILT_SOURCES.
49475         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
49476         redundant through BUILT_SOURCES.
49477         * modules/stdbool (Makefile.am): Remove explicit dependency on
49478         $(STDBOOL_H), redundant through BUILT_SOURCES.
49479         * modules/stdint (Makefile.am): Remove explicit dependency on
49480         $(STDINT_H), redundant through BUILT_SOURCES.
49481         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
49482         Remove explicit dependency on $(SYSEXITS_H).
49483         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
49484
49485 2005-07-18  Simon Josefsson  <jas@extundo.com>
49486
49487         * lib/check-version.c (check_version): Accept identical versions too.
49488
49489 2005-07-18  Bruno Haible  <bruno@clisp.org>
49490
49491         * modules/lock: New file.
49492         * MODULES.html.sh (Multithreading): New section.
49493
49494 2005-07-18  Bruno Haible  <bruno@clisp.org>
49495
49496         * m4/lock.m4: New file, from GNU gettext.
49497
49498 2005-07-18  Bruno Haible  <bruno@clisp.org>
49499
49500         * lib/lock.h: New file, from GNU gettext.
49501         * lib/lock.c: New file, from GNU gettext.
49502
49503 2005-07-18  Bruno Haible  <bruno@clisp.org>
49504
49505         * lib/lock.h (gl_once_t): New type.
49506         (gl_once_define, gl_once): New macros.
49507         * lib/lock.c (fresh_once): New variable.
49508         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
49509         functions.
49510
49511 2005-07-16  Simon Josefsson  <jas@extundo.com>
49512
49513         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
49514         workaround, suggested by Bruno.
49515
49516 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49517
49518         * modules/xalloc (Depends-on): Add xalloc-die.
49519         * modules/xvasprintf (Depends-on): Add xalloc-die.
49520
49521 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49522
49523         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
49524         with a minor change.
49525
49526 2005-07-15  Bruno Haible  <bruno@clisp.org>
49527
49528         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
49529         When using lib/poll.c, define poll as rpl_poll.
49530
49531 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
49532
49533         * modules/argp (Depends-on): Remove unlocked-io.
49534
49535 2005-07-14  Derek Price  <derek@ximbiot.com>
49536
49537         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
49538         for glob symlink bug.
49539
49540 2005-07-14  Bruno Haible  <bruno@clisp.org>
49541
49542         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
49543         Instead, test for *_unlocked function declarations directly.
49544
49545 2005-07-11  Simon Josefsson  <jas@extundo.com>
49546
49547         * modules/size_max: New file.
49548
49549         * modules/xsize: Depend on size_max module for size_max.m4.
49550
49551 2005-07-11  Simon Josefsson  <jas@extundo.com>
49552
49553         * lib/size_max.h: New file.
49554
49555 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
49556
49557         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
49558         copyright symbol and the year.
49559         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
49560         (version_etc_va): Use parameterized copyright notice.
49561         Reword to conform to the current GNU coding standards.
49562
49563 2005-07-11  Karl Berry  <karl@gnu.org>
49564
49565         * doc/gnulib.texi (Quoting): new node.
49566         (Initial import): more info, from Patrice.
49567
49568 2005-07-11  Bruno Haible  <bruno@clisp.org>
49569
49570         * gnulib-tool (func_usage): Document option --avoid.
49571         (Command line options): Handle --avoid.
49572         (func_acceptable): New function.
49573         (func_modules_transitive_closure): Use it.
49574
49575 2005-07-11  Bruno Haible  <bruno@clisp.org>
49576
49577         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
49578         Reported by Jim Meyering.
49579
49580 2005-07-10  Bruno Haible  <bruno@clisp.org>
49581
49582         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
49583         Needed when size_t is smaller than 'unsigned int'.
49584         Reported by Paul Eggert.
49585
49586 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49587
49588         * modules/argp (Depends-on): Add unlocked-io
49589
49590 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49591
49592         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
49593         block of defines.
49594
49595 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49596
49597         * config/srclist.txt: Comment out regcomp.c, since we have a porting
49598         fix now.
49599
49600 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
49601         and Paul Eggert  <eggert@cs.ucla.edu>
49602
49603         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
49604         in wint_t, not wchar_t.  Remove now-unnecessary cast.
49605
49606 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49607
49608         * modules/regex (Files): Add lib/regex_internal.c,
49609         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
49610         (Depends-on): Add extensions.
49611         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
49612
49613 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49614
49615         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
49616         pathconf.
49617         * m4/same.m4 (gl_SAME): Likewise.
49618         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
49619
49620         * m4/regex.m4: Adjust to new libc regex implementation.
49621         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
49622         all the .c and .h parts of (the new) regex.
49623         Quote the m4 stuff better.
49624         Check for RE_ICASE bug of old gnulib.
49625         Check for REG_STARTEND of recent libc.
49626         Rename local variables from jm_* to gl_*.
49627         Quote operand of "test -f".
49628         Say "recent enough" version of libc, not "version 2".
49629         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
49630         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
49631         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
49632         Remove check for btowc, isascii.
49633         Require AM_LANGINFO_CODESET.
49634
49635 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49636
49637         * lib/regex.c, regex.h: Sync from libc.
49638         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
49639         * lib/regexec.c:
49640         New files, synced from libc, except that regex_internal.h
49641         currently has a small porting fix.
49642
49643 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49644
49645         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
49646         regex_internal.c, regexec.c.
49647         Add regex_internal.h too, but as a comment, since the libc version
49648         is currently broken in gnulib mode.
49649
49650 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49651
49652         Support programs like Emacs that use gnulib but not gettext.
49653         * MODULES.html.sh (Internationalization functions): Add gettext-h.
49654         * modules/gettext-h: New file.
49655         * modules/gettext (Files): Remove lib/gettext.h.
49656         (Depends-on): Add gettext-h.
49657         (Makefile.am): Remove lib_SOURCES.
49658         * modules/argmatch, modules/c-stack, modules/closeout:
49659         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
49660         * modules/execute, modules/file-type, modules/getaddrinfo:
49661         * modules/getopt, modules/human, modules/javacomp:
49662         * modules/javaexec, modules/mkdir-p, modules/obstack:
49663         * modules/openat, modules/pagealign_alloc, modules/pipe:
49664         * modules/quotearg, modules/regex, modules/rpmatch:
49665         * modules/unicodeio, modules/userspec, modules/version-etc:
49666         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
49667         * modules/xsetenv:
49668         Depend on gettext-h, not gettext.
49669
49670 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49671
49672         * gnulib-tool (func_import): Add support for 'public domain' license.
49673         * modules/alloca, modules/atexit, modules/memmove:
49674         Now public domain, not GPL.
49675         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
49676         * modules/realloc, modules/strerror, modules/strtod:
49677         Now LGPL, not GPL.
49678
49679 2005-07-05  Bruno Haible  <bruno@clisp.org>
49680
49681         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
49682         autoconf CVS. Needed for mingw.
49683
49684 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49685
49686         Remove the dependency of the strftime module on the tzset module.
49687         * modules/strftime (Depends-on): Remove dependency on tzset.
49688
49689 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49690
49691         Remove the dependency of the strftime module on the tzset module.
49692         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
49693         gl_FUNC_TZSET_CLOBBER.
49694
49695 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49696
49697         Remove the dependency of the strftime module on the tzset module.
49698         * lib/strftime.c (my_strftime)
49699         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
49700         Copy the input structure, to work around some of the bug with
49701         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
49702         Solaris releases, you should also use the tzset module, but we won't
49703         require it as a dependency any more since we don't want LGPLed code
49704         to depend on GPLed code.
49705
49706 2005-07-02  Jim Meyering  <jim@meyering.net>
49707
49708         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
49709         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
49710         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
49711         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
49712
49713 2005-07-02  Jim Meyering  <jim@meyering.net>
49714
49715         * lib/backupfile.c (backup_args): Change a `0' to NULL.
49716
49717 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49718
49719         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
49720         declares only 'struct timespec;' (!).
49721
49722 2005-07-01  Jim Meyering  <jim@meyering.net>
49723
49724         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
49725         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
49726         * lib/save-cwd.c, tempname.c:
49727         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
49728         and don't include <sys/file.h>).
49729
49730 2005-06-29  Jim Meyering  <jim@meyering.net>
49731
49732         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
49733         type name.  Use the variable name instead.
49734         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
49735         Likewise.
49736
49737 2005-06-28  Simon Josefsson  <jas@extundo.com>
49738
49739         * modules/check-version (Files): Add check-version.m4.
49740
49741 2005-06-28  Simon Josefsson  <jas@extundo.com>
49742
49743         * m4/check-version.m4: New file, suggested by Jim Meyering
49744         <jim@meyering.net>.
49745
49746 2005-06-28  Simon Josefsson  <jas@extundo.com>
49747
49748         * lib/check-version.h, lib/check-version.c: New files.
49749
49750 2005-06-28  Simon Josefsson  <jas@extundo.com>
49751
49752         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
49753         collision with global variable.  Better indentation.  Don't
49754         increment buffer pointer beyond buffer end.  Based on comments
49755         from Paul Eggert <eggert@cs.ucla.edu>.
49756
49757         * lib/base64.h: Indent.
49758
49759 2005-06-28  Simon Josefsson  <jas@extundo.com>
49760
49761         * doc/gnulib.texi (Library version handling): New section.
49762
49763 2005-06-28  Jim Meyering  <jim@meyering.net>
49764
49765         * check-module (find_included_lib_files): Hard-code another
49766         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
49767         but modules/fts-lgpl (correctly) does not list those files.
49768
49769         * modules/canonicalize (Files): Add lib/pathmax.h.
49770
49771 2005-06-25  Simon Josefsson  <jas@extundo.com>
49772
49773         * modules/check-version: New file.
49774
49775 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
49776
49777         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
49778         initializer of struct addrinfo, as an indication that we don't
49779         care how many members the structure has.
49780
49781 2005-06-24  Derek Price  <derek@ximbiot.com>
49782         and Bruno Haible  <bruno@clisp.org>
49783
49784         Remove stat module & update lstat.
49785         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
49786         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
49787         * m4/stat.m4: Remove this file.
49788
49789 2005-06-24  Derek Price  <derek@ximbiot.com>
49790         and Bruno Haible  <bruno@clisp.org>
49791
49792         Remove stat module & update lstat.
49793         * lib/stat.c: Remove this file...
49794         (slash_aware_lstat): ...moving this content and its support...
49795         * lib/lstat.c (rpl_lstat): ...into here.
49796         * lib/lstat.h: New file.
49797
49798 2005-06-24  Derek Price  <derek@ximbiot.com>
49799         and Bruno Haible  <bruno@clisp.org>
49800
49801         Remove stat module & update lstat.
49802         * config/srclist.txt (libc sources): Remove stat.
49803
49804 2005-06-24  Derek Price  <derek@ximbiot.com>
49805         and Bruno Haible  <bruno@clisp.org>
49806
49807         Remove stat module & update lstat.
49808         * MODULES.html.sh (stat): Remove.
49809         * MODULES.html: Regenerated.
49810         * modules/lstat (Description): Correct function name.
49811         (Files): Add "lstat.h".
49812         (Depends-on): Remove stat, add xalloc, stat-macros.
49813         * modules/stat: Remove this file.
49814         (Include): Add "lstat.h", remove <sys/stat.h>.
49815
49816 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49817
49818         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
49819         (ranged_convert): Don't save conversion in a temporary struct.
49820         This causes a warning with GCC 4.0.0, and anyway in the typical
49821         case it's not worth the extra 100 bytes or so of code.
49822         (ranged_convert, __mktime_internal): When calling a function via a
49823         pointer P, use P () rather than (*P) (), as we now assume C89 or
49824         better.
49825
49826 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
49827
49828         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
49829         "who -r" failed to give output.  Problem reported by Tim Waugh.
49830
49831         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
49832         (xcalloc): Use it to avoid needless tests.
49833         Problem reported by Jim Meyering.
49834
49835 2005-06-20  Derek Price  <derek@ximbiot.com>
49836
49837         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
49838         unnecessary for Autoconfs > 2.59c.
49839
49840 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49841
49842         * lib/argp.h (__option_is_short): Check upper limit of
49843         __key. Isprint() requires its argument to have the value
49844         of an unsigned char or EOF.
49845
49846 2005-06-16  Jim Meyering  <jim@meyering.net>
49847
49848         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
49849         when either N or S is zero.
49850
49851 2005-06-16  Derek Price  <derek@ximbiot.com>
49852
49853         * m4/bison.m4: Declare YACC & YFLAGS precious.
49854
49855 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
49856
49857         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
49858         multibyte string or pattern, fall back on unibyte matching.
49859         Problem reported by James Youngman.
49860
49861 2005-06-08  Bruno Haible  <bruno@clisp.org>
49862
49863         * modules/csharpcomp: New file.
49864         * MODULES.html.sh (C#): Add csharpcomp.
49865
49866 2005-06-08  Bruno Haible  <bruno@clisp.org>
49867
49868         * m4/csharpcomp.m4: New file, from GNU gettext.
49869
49870 2005-06-08  Bruno Haible  <bruno@clisp.org>
49871
49872         * lib/csharpcomp.h: New file, from GNU gettext.
49873         * lib/csharpcomp.c: New file, from GNU gettext.
49874         * lib/csharpcomp.sh.in: New file, from GNU gettext.
49875
49876 2005-06-08  Bruno Haible  <bruno@clisp.org>
49877
49878         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
49879         warning on mingw.
49880
49881 2005-06-07  Derek Price  <derek@ximbiot.com>
49882
49883         Sync from CVS.
49884         * lib/glob_.h: Indent nested #ifdef.
49885
49886 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
49887
49888         Sync from coreutils.
49889         Use "file name" when talking about file names, instead of "filename"
49890         or "path", as per the GNU coding standards.
49891         * lib/mkdir-p.c: Renamed from makepath.c.
49892         (make_dir_parents): Renamed from make_path.  All callers changed.
49893         * lib/mkdir-p.h: Likewise.  All includers changed.
49894         * lib/filenamecat.c: Renamed from path-concat.c.
49895         (file_name_concat): Renamed from path_concat.  All callers changed.
49896         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
49897         * lib/filenamecat.h: Likewise.  All includers changed.
49898         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
49899         in comments or local variable names.
49900         * lib/basename.c: Likewise.
49901         * lib/canonicalize.c, canonicalize.h: Likewise.
49902         * lib/dirname.c, dirname.h: Likewise.
49903         * lib/euidaccess.c: Likewise.
49904         * lib/exclude.c: Likewise
49905         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
49906         * lib/fsusage.c, fsuage.h: Likewise.
49907         * lib/fts.c, fts_.h: Likewise.
49908         * lib/getcwd.c: Likewise.
49909         * lib/getloadavg.c: Likewise.
49910         * lib/mkstemp.c: Likewise.
49911         * lib/mountlist.c, mountlist.h: Likewise.
49912         * lib/openat.c, openat.h: Likewise.
49913         * lib/readlink-stub.c: Likewise.
49914         * lib/readutmp.c, readutmp.h: Likewise.
49915         * lib/rename.c: Likewise.
49916         * lib/rmdir.c: Likewise.
49917         * lib/same.c: Likewise.
49918         * lib/savedir.c: Likewise.
49919         * lib/stripslash.c: Likewise.
49920         * lib/tempname.c: Likewise.
49921         * lib/xreadlink.c: Likewise.
49922         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
49923         All uses changed.
49924         * lib/exclude.h: Likewise.
49925
49926         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
49927         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
49928         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
49929         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
49930         * lib/pathmax.h: Include <limits.h> unconditionally, since other
49931         files have been getting away with it for years (MORE/BSD 4.3
49932         is extinct now).
49933         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
49934         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
49935
49936         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
49937         Define to 256, not 255, as per modern POSIX.
49938
49939 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
49940
49941         Sync from coreutils.
49942         Use "file name" when talking about file names, instead of "filename"
49943         or "path", as per the GNU coding standards.
49944         * MODULES.html.sh: mkdir-p renamed from makepath.
49945         filenamecat renamed from path-concat.
49946         * modules/filenamecat: Renamed from modules/path-concat.
49947         (Files): filenamecat.h and filenamecat.c renamed from
49948         path-concat.h and path-concat.c.
49949         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
49950         (Include): filenamecat.h, not path-concat.h.
49951         * modules/mkdir-p: Renamed from modules/makepath.
49952         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
49953         makepath.c.
49954         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
49955         (Include): mkdir-p.h, not makepath.h.
49956
49957 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
49958
49959         Sync from coreutils.
49960         * m4/mkdir-p.m4: Renamed from makepath.m4.
49961         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
49962         Rename files from makepath.c to mkdir-p.c, and from
49963         makepath.h to mkdir-p.h.
49964         * m4/filenamecat.m4: Renamed from path-concat.m4.
49965         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
49966         Rename files from path-concat.c to filenamecat.c,
49967         and from path-concat.h to filenamecat.h.
49968         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
49969         "file name" in local variables or comments.
49970         * m4/rename.m4: Likewise.
49971
49972 2005-06-01  Bruno Haible  <bruno@clisp.org>
49973
49974         * modules/csharpexec: New file.
49975         * MODULES.html.sh (C#): New section.
49976
49977 2005-06-01  Bruno Haible  <bruno@clisp.org>
49978
49979         * m4/csharp.m4: New file, from GNU gettext.
49980         * m4/csharpexec.m4: New file, from GNU gettext.
49981
49982 2005-06-01  Bruno Haible  <bruno@clisp.org>
49983
49984         * lib/csharpexec.h: New file, from GNU gettext.
49985         * lib/csharpexec.c: New file, from GNU gettext.
49986         * lib/csharpexec.sh.in: New file, from GNU gettext.
49987
49988 2005-05-31  Derek Price  <derek@ximbiot.com>
49989             Paul Eggert  <eggert@cs.ucla.edu>
49990
49991         Sync from cvs.
49992         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
49993
49994 2005-05-31  Derek Price  <derek@ximbiot.com>
49995             Paul Eggert  <eggert@cs.ucla.edu>
49996
49997         Sync from cvs.
49998         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
49999
50000 2005-05-29  Derek Price  <derek@ximbiot.com>
50001
50002         * config/srclist.txt (glob_.h, glob.c): Add these files.
50003
50004 2005-05-29  Derek Price  <derek@ximbiot.com>
50005
50006         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
50007         * modules/glob: New file.
50008         * modules/getlogin_r: Add link to POSIX spec in description.
50009
50010 2005-05-29  Derek Price  <derek@ximbiot.com>
50011             Paul Eggert  <eggert@cs.ucla.edu>
50012
50013         * m4/glob.m4: New file.
50014
50015 2005-05-29  Derek Price  <derek@ximbiot.com>
50016             Paul Eggert  <eggert@cs.ucla.edu>
50017
50018         * lib/glob_.h, lib/glob.c: New files.
50019
50020 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
50021
50022         * modules/fts (Files): Remove m4/inttypes-pri.m4.
50023         * modules/fts-lgpl (Depends-on): Remove gettext.
50024
50025 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
50026
50027         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
50028         and don't require gt_INTTYPES_PRI.
50029
50030 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
50031
50032         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
50033
50034         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
50035         the configuration hassle isn't worth it.
50036         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
50037         (LONGEST_MODIFIER, PRIuMAX): Remove.
50038
50039 2005-05-27  Bruno Haible  <bruno@clisp.org>
50040
50041         * lib/getlogin_r.h: Remove second include of <stddef.h>.
50042
50043 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
50044
50045         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
50046         _POSIX_PTHREAD_SEMANTICS for Solaris.
50047
50048 2005-05-25  Derek Price  <derek@ximbiot.com>
50049
50050         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
50051
50052 2005-05-25  Derek Price  <derek@ximbiot.com>
50053             Paul Eggert  <eggert@cs.ucla.edu>
50054
50055         * modules/getlogin_r, m4/getlogin_r.m4: New files.
50056         * lib/getlogin_r.c, getlogin_r.h: New files.
50057
50058 2005-05-25  Bruno Haible  <bruno@clisp.org>
50059             Derek Price  <derek@ximbiot.com>
50060
50061         * lib/getlogin_r.h: Simplify API documentation.
50062
50063 2005-05-23  Derek Price  <derek@ximbiot.com>
50064
50065         * modules/minmax (Files): Add m4/minmax.m4.
50066         (configure.ac): Add gl_MINMAX.
50067
50068 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
50069
50070         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
50071         so that unistd-safer.h (GPL'ed code) need not be included.
50072
50073 2005-05-22  Bruno Haible  <bruno@clisp.org>
50074
50075         * m4/minmax.m4: New file.
50076         Based on a patch by Derek Price <derek@ximbiot.com>.
50077
50078 2005-05-22  Bruno Haible  <bruno@clisp.org>
50079
50080         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
50081         (INT64_MIN): Fix definition.
50082         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
50083
50084         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
50085         NEED_SIGNED_INT_TYPES.
50086
50087         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
50088         HAVE_SYSTEM_INTTYPES.
50089
50090 2005-05-22  Bruno Haible  <bruno@clisp.org>
50091
50092         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
50093         Also include <sys/param.h> if it defines MIN, MAX.
50094         Based on a patch by Derek Price <derek@ximbiot.com>.
50095
50096 2005-05-21  Jim Meyering  <jim@meyering.net>
50097
50098         * modules/fts (Files): Add m4/inttypes-pri.m4.
50099         (Depends-on): Add lstat and remove gettext.  Alphabetize.
50100
50101 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50102
50103         New fts module.
50104         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
50105         (setup_dir, free_dir): New functions.
50106         (enter_dir, leave_dir): Define trivial
50107         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
50108         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
50109         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
50110         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
50111         Move to fts-cycle.c.
50112         (fts_open): Use setup_dir.
50113         (fts_close): Use free_dir.
50114         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
50115         This adds a label and some gotos, but the alternatives were messier.
50116         Check for memory allocation failure when entering a dir.
50117         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
50118         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
50119         (FTS): New member fts_cycle, that is a union that contains the
50120         old active_dir_ht and cycle_state.  All uses changed to mention
50121         fts_cycle.ht and fts_cycle.state.
50122         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
50123         fts.c, with the following changes:
50124         (setup_dir, free_dir): New functions.
50125         (enter_dir): Now returns bool.  Return true if successful, false
50126         if memory exhausted.  All callers changed.
50127         Do not bother partly cleaning up on
50128         memory allocation failure; that is free_dir's job.
50129         However, free ad if hash_insert fails, to avoid memory leak.
50130         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
50131         fts->fts_options to see which union member to use.
50132
50133 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50134
50135         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
50136         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
50137
50138 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50139
50140         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
50141
50142 2005-05-20  Jim Meyering  <jim@meyering.net>
50143
50144         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
50145         Now a macro, to pacify GCC.
50146
50147 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
50148
50149         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
50150         of -1.
50151
50152 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
50153
50154         * lib/chown.c (rpl_chown): Return -1 on failure.
50155
50156 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
50157
50158         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
50159         Don't check for stddef.h.
50160         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
50161         don't use its results.
50162         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
50163         since we include them unconditionally.  Don't require
50164         AM_STDBOOL_H, since stdbool is a prerequisite.
50165         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
50166         since we assume C89 or better.
50167         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
50168         as we don't use their results.
50169         Don't check for fchdir, memmove, memset, strrchr, as we use
50170         them unconditionally.
50171         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
50172         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
50173
50174 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
50175
50176         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
50177         Include <stddef.h> unconditionally, since we assume C89 now.
50178         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
50179         * lib/fts.c: Include fts_.h first, to check interface.
50180         Do not include intprops.h; no longer needed.
50181         Include cycle-check.h and hash.h, since fts_.h no longer does.
50182         Remove unnecessary casts of closedir to void.
50183         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
50184         decide whether to decrement nlinks.
50185         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
50186         (FTS): Use struct hash_table * instead of Hash_table, so that
50187         we no longer need to include hash.h here.
50188
50189 2005-05-18  Jim Meyering  <jim@meyering.net>
50190
50191         * modules/dirfd (License): Change to LGPL.  Most of the code
50192         is already in the public domain.
50193
50194 2005-05-18  Jim Meyering  <jim@meyering.net>
50195
50196         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
50197         Reported by Yoann Vandoorselaere.
50198
50199 2005-05-17  Jim Meyering  <jim@meyering.net>
50200
50201         * m4/fts.m4: New file, from coreutils.
50202
50203 2005-05-17  Jim Meyering  <jim@meyering.net>
50204
50205         * lib/fts.c, lib/fts_.h: New files, from coreutils.
50206
50207 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50208
50209         Sync from coreutils.
50210         * m4/unlinkdir.m4: New file.
50211
50212 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50213
50214         Sync from coreutils.
50215         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
50216         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
50217         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
50218         White space changes only.
50219         * lib/makepath.c (make_path): Port to hosts where leading "//" is
50220         special.
50221         * lib/yesno.c: Include getline.h, not ctype.h.
50222         (yesno): Don't remove leading white space; POSIX doesn't allow it.
50223         Use getline to remove arbitrary restriction on response length.
50224
50225 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50226
50227         * config/srclist-update: Spell out "Street" in FSF postal
50228         mail address; this is the style the FSF seems to prefer.
50229
50230         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
50231         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
50232         this updates FSF postal mail address.
50233
50234         Sync from coreutils.
50235         * modules/unlinkdir: New file.
50236         * modules/yesno (Depends-on): Add getline.
50237         * MODULES.html.sh (File system functions): Add unlinkdir.
50238
50239 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50240
50241         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
50242         lib/strsep.h:
50243         Change the initial comment to refer to GPL, not LGPL.
50244         gnulib-tool will change it to LGPL as needed.
50245
50246         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
50247         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
50248         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
50249         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
50250         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
50251         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
50252         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
50253         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
50254         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
50255         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
50256         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
50257         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
50258         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
50259         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
50260         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
50261         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
50262         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
50263         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
50264         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
50265         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
50266         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
50267         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
50268         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
50269         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
50270         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
50271         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
50272         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
50273         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
50274         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
50275         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
50276         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
50277         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
50278         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
50279         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
50280         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
50281         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
50282         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
50283         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
50284         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
50285         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
50286         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
50287         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
50288         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
50289         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
50290         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
50291         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
50292         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
50293         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
50294         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
50295         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
50296         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
50297         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
50298         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
50299         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
50300         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
50301         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
50302         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
50303         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
50304         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
50305         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
50306         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
50307         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
50308         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
50309         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
50310         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
50311         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
50312         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
50313         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
50314         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
50315         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
50316         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
50317         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
50318         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
50319         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
50320         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
50321         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
50322         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
50323         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
50324         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
50325         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
50326         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
50327         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
50328         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
50329         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
50330         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
50331         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
50332         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
50333         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
50334         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
50335         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
50336         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
50337         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
50338         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
50339         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
50340         lib/yesno.c, lib/yesno.h:
50341         Update FSF postal mail address.
50342
50343 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50344
50345         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
50346         tests/test-memmem.c, tests/test-stpncpy.c:
50347         Update FSF postal mail address.
50348
50349 2005-05-13  Bruno Haible  <bruno@clisp.org>
50350
50351         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
50352         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
50353         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
50354         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
50355         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
50356         Add support for 64-bit integers in the MSVC compiler.
50357
50358 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50359
50360         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
50361
50362 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
50363
50364         * gnulib-tool (func_import): Sort and uniquify recommended includes.
50365
50366 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
50367
50368         * doc/getdate.texi (General date syntax): Don't say that date
50369         date --iso-8601=ns generates acceptable dates; it doesn't yet.
50370         Problem reported by Nic Ferrier.
50371
50372 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50373
50374         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
50375         specified in ai_socktype. Fix invalid ai_protocol
50376         check. ai_protocol is usually set to 0 or depending on
50377         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
50378         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
50379         ai_socktype / ai_protocol in the returned addrinfo structure.
50380
50381 2005-05-10  Simon Josefsson  <jas@extundo.com>
50382
50383         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
50384         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50385
50386 2005-05-10  Karl Berry  <karl@gnu.org>
50387
50388         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
50389         (from http://www.gnu.org/licenses).
50390         * doc/COPYING.LIB: also rename to COPYING.LESSER.
50391         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
50392         fdl.texi suffices.
50393
50394 2005-05-10  Karl Berry  <karl@gnu.org>
50395
50396         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
50397         (COPYING.DOC): remove.
50398
50399         * config/srclist-update: new FSF address.
50400
50401 2005-05-10  Derek Price  <derek@ximbiot.com>
50402
50403         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
50404         possible.
50405
50406 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50407             Bruno Haible  <bruno@clisp.org>
50408
50409         * modules/inet_ntop: New file.
50410         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50411         inet_ntop.
50412
50413 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50414             Bruno Haible  <bruno@clisp.org>
50415
50416         * m4/inet_ntop.m4: New file.
50417
50418 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50419             Bruno Haible  <bruno@clisp.org>
50420
50421         * lib/inet_ntop.h: New file.
50422         * lib/inet_ntop.c: New file, from glibc with modifications.
50423
50424 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
50425
50426         * modules/time_r (License): Change to LGPL.
50427         * modules/extensions (License): Change to LGPL.  Actually,
50428         the license is more permissive than that, but currently gnulib-tool
50429         doesn't know how to handle more-permissive licenses.
50430
50431         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
50432         Problem reported by Dave Love.
50433
50434 2005-05-08  Jim Meyering  <jim@meyering.net>
50435
50436         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
50437         blank.
50438
50439 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
50440
50441         * modules/argmatch (Depends-on): Add stdbool.
50442         * modules/backupfile (Depends-on): Likewise.
50443         * modules/chdir-long (Depends-on): Likewise.
50444         * modules/closeout (Depends-on): Likewise.
50445         * modules/cycle-check (Depends-on): Likewise.
50446         * modules/dirname (Depends-on): Likewise.
50447         * modules/fnmatch (Depends-on): Likewise.
50448         * modules/fsusage (Depends-on): Likewise.
50449         * modules/fwriteerror (Depends-on): Likewise.
50450         * modules/getcwd (Depends-on): Likewise.
50451         * modules/getloadavg (Depends-on): Likewise.
50452         * modules/hard-locale (Depends-on): Likewise.
50453         * modules/makepath (Depends-on): Likewise.
50454         * modules/mountlist (Depends-on): Likewise.
50455         * modules/nanosleep (Depends-on): Likewise.
50456         * modules/posixtm (Depends-on): Likewise.
50457         * modules/quotearg (Depends-on): Likewise.
50458         * modules/readtokens (Depends-on): Likewise.
50459         * modules/readtokens0 (Depends-on): Likewise.
50460         * modules/readutmp (Depends-on): Likewise.
50461         * modules/save-cwd (Depends-on): Likewise.
50462         * modules/strftime (Depends-on): Likewise.
50463         * modules/userspec (Depends-on): Likewise.
50464         * modules/utimecmp (Depends-on): Likewise.
50465         * modules/xgetcwd (Depends-on): Likewise.
50466         * modules/xnanosleep (Depends-on): Likewise.
50467         * modules/xstrtod (Depends-on): Likewise.
50468         * modules/yesno (Depends-on): Likewise.
50469
50470 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
50471
50472         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
50473         needless checks.
50474
50475 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50476
50477         Merge from coreutils.  Among other things,
50478         add bulletproofing for cases where stdin, stdout, or stderr are closed.
50479         * lib/fd-safer.c: New file.
50480         * lib/fcntl-safer.h, open-safer.c: Remove.
50481         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
50482         * lib/dup-safer.c: Include unistd-safer.h first.
50483         Don't include errno.h.
50484         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
50485         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
50486         * lib/file-type.c: Rely on file-type.h change.
50487         * lib/getloadavg.c: Include unistd-safer.h.
50488         (getloadavg): Use safer open.
50489         * lib/getusershell.c: Include "stdio-safer.h".
50490         (getusershell): Use safer fopen.
50491         * lib/long-options.c (long_options): Use NULL rather than 0.
50492         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
50493         'free'.
50494         * lib/modechange.c: Likewise.
50495         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
50496         (MODE_DONE): New constant.
50497         (struct mode_change): Remove 'next' member.
50498         (make_node_op_equals): New function; like the old one of the
50499         same name, except it allocates an array.
50500         (mode_compile, mode_create_from_ref): Use it.
50501         (mode_compile): Allocate result as an array, not a linked list.
50502         Parse octal string ourself, so that we catch mistakes like "+0".
50503         (mode_adjust): Arg is an array, not a linked list.
50504         * lib/modechange.c: Include stat-macros.h, xalloc.h.
50505         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
50506         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
50507         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
50508         Remove.  This is now stat-macros.h's job.
50509         (talloc): Remove.  All callers replaced by xalloc, so that
50510         our invokers don't have to worry about reporting memory failures.
50511         (make_node_op_equals): Remove.
50512         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50513         New constants.
50514         (struct mode_change): Moved here from modechange.h.
50515         (mode_append_entry): Remove.
50516         (mode_compile): Remove MASKED_OPS arg, since it encouraged
50517         apps to have incorrect behavior.  Use simpler algorithm for head
50518         and tail.  Don't futz with umask; that's now the job of mode_adjust.
50519         Detect more invalid usages rather than having somewhat-random behavior.
50520         Don't insert an "a=" action, as that leads to incorrect behavior.
50521         (mode_compile, mode_create_from_ref): Return NULL on error instead
50522         of an enum, since now there's only one way to have an error.  All
50523         callers changed.
50524         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
50525         at the correct time.  Simplify calculation of "+u" and its ilk.
50526         Don't mishandle "+X".
50527         (mode_free): Remove "register" and localize decls.
50528         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50529         (struct mode_change): Move to modechange.c; callers don't
50530         need to see this stuff.
50531         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
50532         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
50533         (mode_change, mode_adjust): Reflect the new signatures noted above.
50534         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
50535         that might redefine system include files.
50536         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
50537         (my_usleep): Use NULL rather than (void *) 0.
50538         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
50539         Use siginterrupt to specify that system calls should be interrupted.
50540         (rpl_nanosleep): Move initialization of suspended closer to call of
50541         my_usleep.
50542         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
50543         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
50544         (desirable_utmp_entry): New function.
50545         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
50546         using x2nrealloc, to simplify logic.
50547         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
50548         size calculation.  Do not assume utmp file is a regular file.
50549         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
50550         (READ_UTMP_CHECK_PIDS): New constant.
50551         * lib/save-cwd.c: Include unistd-safer.h.
50552         (save_cwd): Use fd_safer.
50553         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
50554         [!_LIBC] Include "stat-macros.h" instead.
50555         * lib/unistd-safer.h (fd_safer): New decl.
50556
50557 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50558
50559         * modules/getloadavg (Depends-on): Add unistd-safer.
50560         * modules/getusershell (Depends-on): Add stdio-safer.
50561         * modules/lstat (Depends-on): Remove xalloc.
50562         * modules/mkstemp (Depends-on): Add stat-macros.
50563         * modules/modechange (Depends-on): Remove xstrtol.
50564         Add stat-macros, xalloc.
50565         * modules/save-cwd (Depends-on): Add unistd-safer.
50566         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
50567         * modules/unistd-safer (Files): Add lib/fd-safer.c
50568         (Makefile.am): Remove lib_SOURCES.
50569
50570         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
50571         Remove fcntl-safer; unistd-safer supersedes it.
50572
50573 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50574
50575         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
50576         AC_HEADER_STAT.
50577         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
50578         (gl_PREREQ_CHOWN): Remove.
50579         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
50580         it.  Don't require AC_HEADER_STAT.
50581         (gl_PREREQ_LSTAT): Remove.
50582         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
50583         Don't require AC_HEADER_STAT.
50584         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
50585         (gl_PREREQ_RMDIR): Remove.
50586         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
50587         mention stat-macros.h or AC_HEADER_STAT, since we'll make
50588         the stat-macros module a prerequisite.
50589         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
50590         * m4/filemode.m4 (gl_FILEMODE): Likewise.
50591         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
50592         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
50593         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
50594         variable names.
50595         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
50596         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
50597         variable prefixes.
50598         * m4/fcntl-safer.m4: Remove.
50599         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
50600         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
50601         Invoke gl_PREREQ_FD_SAFER.
50602         (gl_PREREQ_FD_SAFER): New macro.
50603         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
50604         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
50605         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
50606         Remove duplicate call to AC_LIBOBJ(readutmp).
50607         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
50608
50609         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
50610         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
50611
50612 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50613
50614         * MODULES.html.sh (Misc): Add byteswap.
50615
50616 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50617
50618         * modules/getcwd (Depends-on): Add extensions.
50619         * modules/openat (Depends-on): Likewise.
50620
50621 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50622
50623         * modules/byteswap: New file.
50624
50625 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50626
50627         * m4/byteswap.m4: New file.
50628
50629 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50630
50631         * lib/byteswap_.h: New file.
50632
50633 2005-04-25  Karl Berry  <karl@gnu.org>
50634
50635         * m4/gettext.m4: Update from GNU gettext 0.14.4.
50636
50637 2005-04-25  Albert Chin  <china@thewrittenword.com>
50638
50639         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
50640         Toolkit C bug.
50641
50642 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
50643
50644         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
50645         (func_ln_if_changed) Remove forcibly for no error message
50646         in case file does not exist.
50647
50648 2005-04-19  Simon Josefsson  <jas@extundo.com>
50649
50650         * gnulib-tool (Options): Make --symlink mean --symbolic.
50651
50652 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
50653
50654         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
50655
50656 2005-04-16  Simon Josefsson  <jas@extundo.com>
50657
50658         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
50659
50660 2005-04-15  Simon Josefsson  <jas@extundo.com>
50661
50662         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
50663
50664 2005-04-15  Simon Josefsson  <jas@extundo.com>
50665
50666         * gnulib-tool: Rename --symlink to --symbolic.
50667
50668 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
50669
50670         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
50671         symbolic links to files instead of copying/moving.  Add --aux-dir,
50672         specifying directory relative --dir where auxiliary build tools
50673         are placed.
50674
50675 2005-04-14  Bruno Haible  <bruno@clisp.org>
50676
50677         * modules/allocsa (License): Change to LGPL.
50678         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50679
50680 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50681
50682         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
50683         that "UTC +1 second" continues to work.  Problem reported
50684         by Dmitry V. Levin.
50685         (relunit_snumber): New rule.
50686         (relunit): Use it.
50687
50688 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50689
50690         * lib/getdate.y (universal_time_zone_table): New constant.
50691         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
50692         universal_time_zone_table.
50693         (lookup_zone): Prefer universal_time_zone_table to
50694         local_time_zone_table, so that "GMT" time stamps are allowed in
50695         London during the summer.  Problem reported by Ian Abbott.
50696
50697 2005-04-12  Jim Meyering  <jim@meyering.net>
50698
50699         * lib/human.c (humblock): Set *options even when returning due to
50700         xstrtoumax conversion failure.  Thanks to a used-uninitialized
50701         warning from gcc-4.
50702
50703 2005-04-09  Jim Meyering  <jim@meyering.net>
50704
50705         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
50706         -Wuninitialized: initialize tm0.tm_year.
50707
50708 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50709
50710         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
50711         count, since there's no maximum.  All uses changed.
50712         Add member dsts_seen.
50713         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
50714         not being INT_MAX.
50715         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
50716         Use pc_rels_seen to decide whther a date is absolute.
50717
50718         * lib/getdate.y (number): Don't overwrite year.
50719         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
50720         check.
50721
50722 2005-04-02  Simon Josefsson  <jas@extundo.com>
50723
50724         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
50725         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
50726
50727 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
50728
50729         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
50730         where no absolute path name can be longer than PATH_MAX.
50731
50732 2005-03-27  Jim Meyering  <jim@meyering.net>
50733
50734         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
50735
50736 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
50737
50738         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
50739         "one's complement" -> "ones' complement" in comment, as per Knuth.
50740         "value of type" -> "type or expression" in comment.
50741         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
50742
50743 2005-03-26  Jim Meyering  <jim@meyering.net>
50744
50745         Comment nits.
50746         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
50747         Correct typos: s/or/of/.
50748
50749 2005-03-26  Jim Meyering  <jim@meyering.net>
50750
50751         * modules/check-include-files: Move to ../ and rename to...
50752         * check-module: ...this.
50753
50754 2005-03-25  Jim Meyering  <jim@meyering.net>
50755
50756         * modules/xvasprintf (Files): Add xalloc.h.
50757
50758 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
50759
50760         * modules/gettext (Files): config/config.rpath ->
50761         build-aux/config.rpath
50762         * modules/iconv (Files): Likewise.
50763         Problem reported by Oskar Liljeblad.
50764
50765 2005-03-23  Jim Meyering  <jim@meyering.net>
50766
50767         * modules/check-include-files: New script to check for
50768         missing dependencies, multiple includes, etc.
50769
50770         * modules/c-strtold (Depends-on): Add xalloc.
50771         * modules/c-strtod (Depends-on): Add xalloc.
50772         * modules/hash (Depends-on): Add xalloc.
50773         (Files): Remove lib/xalloc.h.
50774
50775         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
50776         * modules/userspec (Files): Add lib/inttostr.h.
50777
50778 2005-03-23  Jim Meyering  <jim@meyering.net>
50779
50780         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
50781
50782 2005-03-22  Jim Meyering  <jim@meyering.net>
50783
50784         * modules/stat-macros: New module.
50785         * modules/canonicalize, modules/euidaccess, modules/file-type,
50786         * modules/filemode, modules/lchown, modules/makepath,
50787         * modules/rmdir, modules/stat: Depend on new stat-macros module
50788         rather than listing lib/stat-macros.h manually.
50789         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
50790
50791 2005-03-22  Jim Meyering  <jim@meyering.net>
50792
50793         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
50794
50795 2005-03-22  Bruno Haible  <bruno@clisp.org>
50796
50797         * config/srclist.txt: Replace target directory 'config' with
50798         'build-aux'.
50799         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
50800         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
50801         ../build-aux/.
50802
50803 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
50804
50805         * modules/chdir-long (Depends-on): Add mempcpy.
50806
50807         * modules/acl, modules/backupfile, modules/c-strtod,
50808         modules/c-strtold, modules/canon-host, modules/canonicalize,
50809         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
50810         modules/exclude, modules/exitfail, modules/file-type,
50811         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
50812         modules/getdate, modules/getline, modules/getpagesize,
50813         modules/getpass, modules/getugroups, modules/group-member,
50814         modules/hard-locale, modules/hash, modules/human, modules/idcache,
50815         modules/inttostr, modules/long-options, modules/makepath,
50816         modules/md5, modules/memcasecmp, modules/memcoll,
50817         modules/modechange, modules/mountlist, modules/path-concat,
50818         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
50819         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
50820         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
50821         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
50822         modules/strftime, modules/strndup, modules/strverscmp,
50823         modules/timespec, modules/unlocked-io, modules/userspec,
50824         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
50825         modules/yesno:
50826         Remove lib_SOURCES line from Makefile.am section, as this is now
50827         done automatically by the corresponding Autoconf macro.
50828
50829 2005-03-21  Jim Meyering  <jim@meyering.net>
50830
50831         Changes imported from coreutils.
50832
50833         * lib/cycle-check.c: Don't include xalloc.h.
50834
50835         * lib/path-concat.c: Don't include assert.h.
50836         (path_concat): Remove assertion that would have triggered
50837         for ABASE starting with more than one slash.
50838         Reported by Andreas Schwab.
50839
50840         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
50841         properly when ABASE is an absolute file name.
50842         Correct the description of this function.
50843         Include <assert.h>.
50844         Add an assertion and a test driver.
50845         This fixes a bug introduced on 2004-07-02.
50846         Andreas Schwab reported the resulting failure of cp --parents:
50847         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
50848
50849 2005-03-21  Jim Meyering  <jim@meyering.net>
50850
50851         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
50852         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
50853
50854 2005-03-21  Jim Meyering  <jim@meyering.net>
50855         and  Paul Eggert  <eggert@cs.ucla.edu>
50856
50857         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
50858         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
50859         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
50860         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
50861         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
50862         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
50863         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
50864         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
50865         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
50866         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
50867         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
50868         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
50869         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
50870         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
50871         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
50872         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
50873         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
50874         for these modules.
50875
50876 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
50877
50878         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
50879         (which shouldn't happen), generate nothing instead of returning 0
50880         immediately, so that nstrftime (NULL, ...) doesn't return 0.
50881
50882 2005-03-16  Bruno Haible  <bruno@clisp.org>
50883
50884         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
50885         HAVE_LONGLONG_64BIT.
50886
50887 2005-03-16  Bruno Haible  <bruno@clisp.org>
50888
50889         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
50890         HAVE_LONGLONG_64BIT.
50891
50892 2005-03-16  Bruno Haible  <bruno@clisp.org>
50893
50894         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
50895         HAVE_LONGLONG_64BIT.
50896
50897 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
50898
50899         * lib/strftime.c (my_strftime): Prepend space to format so that we can
50900         reliably distinguish strftime failure from empty output on POSIX
50901         hosts.
50902
50903 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
50904
50905         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
50906         (iconv_string): Don't guess a size-zero buffer, as that might cause
50907         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
50908         result would be 'too large', where 'too large' is (heuristically)
50909         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
50910         overflow concerns.  This will prevent some unwanted malloc failures
50911         when the inputs are very large.
50912
50913 2005-03-15  Karl Berry  <karl@gnu.org>
50914
50915         * config/srclist.txt (config.rpath): from gettext.
50916         * config/config.rpath: update.
50917
50918 2005-03-15  Bruno Haible  <bruno@clisp.org>
50919
50920         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
50921         to 'negate'.
50922
50923         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
50924         variable.
50925
50926         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
50927         results.
50928
50929 2005-03-14  Simon Josefsson  <jas@extundo.com>
50930
50931         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
50932         <fx@gnu.org>.
50933
50934 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
50935
50936         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
50937         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
50938         intprops.h.
50939         * lib/strtol.c: Likewise.
50940
50941 2005-03-14  Jim Meyering  <jim@meyering.net>
50942
50943         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
50944         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
50945         to be nonzero so that we (and caller) can detect the difference
50946         between a valid zero-length expansion and an error return, even
50947         when the underlying strftime fails before writing anything into
50948         that location.
50949
50950 2005-03-14  Bruno Haible  <bruno@clisp.org>
50951
50952         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
50953         Update from GNU gettext 0.14.3.
50954
50955 2005-03-10  Jim Meyering  <jim@meyering.net>
50956
50957         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
50958
50959 2005-03-10  Jim Meyering  <jim@meyering.net>
50960
50961         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
50962         so that this module works on systems without fchdir.
50963
50964 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
50965
50966         Factor int-properties macros into a single file, except for
50967         glibc-related files.
50968         * lib/intprops.h: New file.
50969         * lib/getloadavg.c: Include it instead of limits.h.
50970         (INT_STRLEN_BOUND): Remove.
50971         * lib/human.c: Include intprops.h.
50972         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
50973         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
50974         302/1000.
50975         * lib/inttostr.h: Include intprops.h instead of limits.h.
50976         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
50977         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
50978         for consistency with intprops.h.
50979         (time_t_is_integer, twos_complement_arithmetic): Use them.
50980         * lib/sig2str.h: Include <signal.h>, intprops.h.
50981         (INT_STRLEN_BOUND): Remove.
50982         * lib/strftime.c (TYPE_SIGNED): Remove.
50983         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
50984         * lib/strtol.c: Adjust comments to match intprops.h.
50985         * lib/userspec.c: Include intprops.h.
50986         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
50987         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
50988         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
50989         instead of rolling our own expressions.
50990         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
50991
50992         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
50993         instead of int.
50994         (my_strftime): Do not mishandle years close to INT_MAX, by doing
50995         the right thing even if adding 1900 would overflow.  Similarly
50996         for tm_mon + 1 and tm_yday + 1.
50997         Make %Y always equivalent to %C%y, and similarly for %G and %g.
50998         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
50999         (DO_SIGNED_NUMBER): New macro.
51000         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
51001
51002 2005-03-07  Bruno Haible  <bruno@clisp.org>
51003
51004         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
51005
51006 2005-03-07  Bruno Haible  <bruno@clisp.org>
51007
51008         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
51009
51010 2005-03-04  Derek R. Price  <derek@ximbiot.com>
51011
51012         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
51013         (func_import): Only replace files via --import when they have actually
51014         changed.
51015
51016 2005-03-03  Derek R. Price  <derek@ximbiot.com>
51017
51018         * m4/mmap-anon.m4: New file.
51019         * m4/pagealign_alloc.m4: New file.
51020
51021 2005-03-03  Derek R. Price  <derek@ximbiot.com>
51022             Bruno Haible  <bruno@clisp.org>
51023
51024         * modules/pagealign_alloc: New file.
51025         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
51026
51027 2005-03-03  Derek R. Price  <derek@ximbiot.com>
51028             Bruno Haible  <bruno@clisp.org>
51029
51030         * lib/pagealign_alloc.h: New file.
51031         * lib/pagealign_alloc.c: New file.
51032
51033 2005-03-03  Bruno Haible  <bruno@clisp.org>
51034
51035         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
51036         Use an all-permissive copyright notice, recommended by RMS.
51037
51038 2005-03-02  Bruno Haible  <bruno@clisp.org>
51039
51040         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
51041         of AIX, the replacement has to be done only after <string.h> is
51042         included, therefore not in config.h. stpncpy.h does the replacement,
51043         and stpncpy.c uses it.
51044
51045 2005-03-02  Bruno Haible  <bruno@clisp.org>
51046
51047         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
51048         stpncpy.c uses it.
51049
51050 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51051
51052         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
51053         The workaround isn't strictly needed for POSIX conformance, and
51054         it's too much of a pain to configure and maintain.  We'll ask
51055         people to fix their kernels instead.
51056         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
51057         (NANOSLEEP_BUG_WORKAROUND): Remove.
51058         (xnanosleep): Remove the workaround.
51059
51060 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51061
51062         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
51063         Reported by Derek Price.
51064         (Include): Add "timespec.h".
51065
51066         * modules/xnanosleep (Depends-on): Remove gethrxtime.
51067
51068 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51069
51070         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
51071         to detect nanosleep bug.
51072
51073 2005-03-01  Bruno Haible  <bruno@clisp.org>
51074
51075         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
51076
51077 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
51078
51079         * modules/gethrxtime: New file.
51080         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
51081         (Depends-on): Add gethrxtime.
51082         (configure.ac): Add gl_XNANOSLEEP.
51083         (Makefile.am): Remove lib_SOURCES line.
51084
51085 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51086
51087         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
51088         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
51089
51090 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51091
51092         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
51093         * lib/timespec.h (gettime): Return void, since it always
51094         succeeds now.  All uses changed.
51095         * lib/gettime.c (gettime) Likewise.
51096         [HAVE_NANOTIME]: Prefer nanotime.
51097         Assume gettimeofday succeeds, as POSIX requires.
51098         Assime time () succeeds, since other code already does.
51099         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
51100         (timespec_subtract): Remove.
51101         (NANOSLEEP_BUG_WORKAROUND): New constant.
51102         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
51103         things considerably.  Use it only on GNU/Linux hosts, since the
51104         workaround shouldn't be needed elsewhere.
51105
51106 2005-02-24  Bruno Haible  <bruno@clisp.org>
51107
51108         * modules/gettext (Files): Add m4/glibc2.m4.
51109
51110 2005-02-24  Bruno Haible  <bruno@clisp.org>
51111
51112         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
51113         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
51114         * m4/progtest.m4:
51115         Update from GNU gettext 0.14.2.
51116         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
51117
51118 2005-02-24  Bruno Haible  <bruno@clisp.org>
51119
51120         * lib/localcharset.c: Update from GNU gettext 0.14.2.
51121         * lib/config.charset: Update from GNU gettext 0.14.2.
51122
51123 2005-02-24  Bruno Haible  <bruno@clisp.org>
51124
51125         * lib/gettext.h: Update from GNU gettext 0.14.2.
51126
51127 2005-02-23  Simon Josefsson  <jas@extundo.com>
51128
51129         * m4/iconvme.m4: New file.
51130
51131 2005-02-23  Jim Meyering  <jim@meyering.net>
51132
51133         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
51134         change.
51135         Thanks to Bruno Haible for catching it.
51136
51137 2005-02-22  Simon Josefsson  <jas@extundo.com>
51138
51139         * modules/iconvme: New file.
51140
51141         * MODULES.html.sh: Add iconvme.
51142
51143 2005-02-22  Simon Josefsson  <jas@extundo.com>
51144
51145         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
51146
51147 2005-02-22  Simon Josefsson  <jas@extundo.com>
51148
51149         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
51150
51151 2005-02-22  Jim Meyering  <jim@meyering.net>
51152
51153         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
51154         s/ifndef/ifdef/.
51155
51156 2005-02-20  Neil Conway  <neilc@samurai.com>
51157
51158         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
51159         returned by OSX/Darwin if the specified buffer is not large
51160         enough for the hostname.
51161
51162 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51163
51164         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
51165         pass it to _help, otherwise the latter coredumps trying to
51166         dereference state.root_argp.
51167
51168 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51169
51170         * modules/chdir-long (Depends-on): Add memrchr.
51171         * modules/memrchr (Files): Add lib/memrchr.h.
51172         (Include): "memrchr.h".
51173
51174 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51175
51176         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
51177
51178 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51179
51180         * lib/memrchr.h: New file.
51181         * lib/chdir-long.c: Include it.
51182         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
51183         Don't bother including stddef.h.
51184
51185 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
51186
51187         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
51188         inclusion.
51189         Include <sys/types.h>, for dev_t.
51190         (ME_DUMMY, ME_REMOTE): Move from here....
51191         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
51192         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
51193         Dmitry V. Levin.
51194         Include mountlist.h first, to test the interface.
51195
51196 2005-01-29  Bruno Haible  <bruno@clisp.org>
51197
51198         * lib/progname.c (program_name): Initialize.
51199         Needed when linking statically on MacOS X.
51200
51201 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51202
51203         Sync from coreutils.
51204         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
51205         (Depends-on): Add c-strtod.
51206         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
51207
51208 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51209
51210         Sync from coreutils.
51211         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
51212
51213         Remove files that are specific to coreutils.
51214         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
51215
51216 2005-01-28  Bruno Haible  <bruno@clisp.org>
51217
51218         * modules/javacomp: New file.
51219         * MODULES.html.sh (Java): Add javacomp.
51220
51221 2005-01-28  Bruno Haible  <bruno@clisp.org>
51222
51223         * m4/javacomp.m4: New file, from GNU gettext.
51224
51225 2005-01-28  Bruno Haible  <bruno@clisp.org>
51226
51227         * lib/javacomp.sh.in: New file, from GNU gettext.
51228         * lib/javacomp.h: New file, from GNU gettext.
51229         * lib/javacomp.c: New file, from GNU gettext.
51230
51231 2005-01-26  Simon Josefsson  <jas@extundo.com>
51232
51233         * lib/gai_strerror.c: Use GPL in header.
51234
51235 2005-01-26  Bruno Haible  <bruno@clisp.org>
51236
51237         * modules/javaexec: New file.
51238         * MODULES.html.sh (Java): Add javaexec.
51239
51240 2005-01-26  Bruno Haible  <bruno@clisp.org>
51241
51242         * m4/javaexec.m4: New file, from GNU gettext.
51243
51244 2005-01-26  Bruno Haible  <bruno@clisp.org>
51245
51246         * lib/javaexec.sh.in: New file, from GNU gettext.
51247         * lib/javaexec.h: New file, from GNU gettext.
51248         * lib/javaexec.c: New file, from GNU gettext.
51249
51250 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51251
51252         * modules/lchown (Depends-on): Remove lchown.h
51253
51254 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51255
51256         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
51257         must be defined if the header file was not found, in order
51258         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
51259
51260 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51261
51262         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
51263         initializers for struct pentry_state.
51264         (__argp_error): Check return value of __asprintf
51265         (__argp_failure): Translate error message
51266
51267         * lib/argp-parse.c: Removed braces around the expansion of N_()
51268
51269 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51270
51271         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
51272         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
51273         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
51274         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
51275         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
51276         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
51277         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
51278         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
51279         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
51280         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
51281         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
51282         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
51283         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
51284         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
51285         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
51286         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
51287         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
51288         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
51289         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
51290         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
51291         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
51292         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
51293         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
51294         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
51295         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
51296         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
51297         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
51298         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
51299         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
51300         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
51301         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
51302         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
51303         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
51304         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
51305         xstrtol.m4, xstrtoumax.m4, yesno.m4:
51306         Use an all-permissive copyright notice, recommended by RMS.
51307
51308 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
51309
51310         * modules/chdir-long (Depends-on): Remove mempcpy.
51311
51312 2005-01-21  Jim Meyering  <jim@meyering.net>
51313
51314         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
51315         same value as for Solaris 9.
51316
51317         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
51318         component length.  This included changing the parameter to be
51319         of type `char *' rather than `char const *'.
51320         * lib/chdir-long.h (chdir_long): Update prototype.
51321
51322         * lib/openat.c (fdopendir, fstatat): New functions.
51323         * lib/openat.h: Include headers required for use of DIR and struct
51324         stat.
51325         [AT_SYMLINK_NOFOLLOW]: Define.
51326         (fdopendir, fstatat): Add prototypes.
51327
51328 2005-01-21  Bruno Haible  <bruno@clisp.org>
51329
51330         * modules/classpath: New file.
51331         * MODULES.html.sh (Java): Add classpath.
51332
51333 2005-01-21  Bruno Haible  <bruno@clisp.org>
51334
51335         * lib/classpath.h: New file, from GNU gettext.
51336         * lib/classpath.c: New file, from GNU gettext.
51337
51338 2005-01-20  Simon Josefsson  <jas@extundo.com>
51339
51340         * modules/version-etc-fsf: New file.
51341
51342 2005-01-20  Simon Josefsson  <jas@extundo.com>
51343
51344         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
51345         * lib/version-etc.c: Remove version_etc_copyright.
51346         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
51347         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
51348
51349 2005-01-20  Simon Josefsson  <jas@extundo.com>
51350
51351         * lib/base64.h (isbase64): Add.
51352
51353         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
51354         using a unsigned prototype, don't inline.
51355         (base64_decode): Use it.
51356
51357 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51358
51359         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
51360         it.
51361
51362 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51363
51364         * lib/save-cwd.c (save_cwd): Remove code to support the case
51365         where fchdir is missing or flaky.
51366
51367 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51368
51369         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
51370
51371 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
51372
51373         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
51374         AC_LIBSOURCES now does this.
51375         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
51376         with new ullong_max module.
51377
51378 2005-01-19  Bruno Haible  <bruno@clisp.org>
51379
51380         * modules/sh-quote: New file.
51381         * MODULES.html.sh (Executing programs): Add sh-quote.
51382
51383 2005-01-19  Bruno Haible  <bruno@clisp.org>
51384
51385         * lib/sh-quote.h: New file, from GNU gettext.
51386         * lib/sh-quote.c: New file, from GNU gettext.
51387
51388 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51389
51390         Merge from coreutils.
51391         * m4/ullong_max.m4: New file.
51392         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
51393         (gl_MACROS): Assume localeconv exists.
51394
51395 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51396
51397         Merge changes from coreutils, as described below in several
51398         changelogs dated today.
51399
51400         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
51401         (O_DIRECTORY): Remove; not needed here, since "." must be
51402         a directory.  All uses removed.
51403         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
51404         universal on Suns, and we also need to test for IRIX.
51405         Revamp code to use 'if' rather than '#if'.
51406         Avoid unnecessary comparison of cwd->desc to 0.
51407
51408         * lib/utimens.c (futimens): Robustify the previous patch, by checking
51409         for known valid error numbers rather than observed invalid ones.
51410
51411 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51412
51413         * modules/ullong_max: New file.
51414
51415         * modules/chdir-long, modules/openat: New files.
51416         * modules/save-cwd (Depends-on): Depend on chdir-long.
51417         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
51418
51419 2005-01-18  Jim Meyering  <jim@meyering.net>
51420
51421         Merge from coreutils.
51422         * m4/chdir-long.m4, m4/openat.m4: New files.
51423         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
51424         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
51425         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
51426         is sane and DOES follow symlinks.  Besides, testing 20 different
51427         systems found no broken chown implementations.
51428         Prompted by a change in rsync's copy of this macro.
51429         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
51430
51431         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
51432
51433         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
51434         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
51435         NULL-means-set-to-current-time semantics.
51436         Remove temporary file immediately, rather than waiting
51437         for configure's at-exit trap code to do it.
51438
51439 2005-01-18  Jim Meyering  <jim@meyering.net>
51440
51441         * lib/version-etc.c (version_etc_copyright): Update copyright date.
51442
51443         * lib/utimens.c (futimens): Account for the fact that futimes
51444         can also fail with errno == ENOSYS or errno == ENOENT.
51445         Patch from Dmitry V. Levin.
51446
51447         Change the name of the robust chdir function from chdir to chdir_long.
51448         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
51449         (restore_cwd): Use chdir_long, not chdir.
51450         * lib/chdir-long.c: Renamed from chdir.c.
51451         * lib/chdir-long.h: Renamed from chdir.h.
51452         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
51453         Hurd.
51454
51455 2005-01-18  Bruno Haible  <bruno@clisp.org>
51456
51457         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
51458         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
51459         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
51460         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
51461         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
51462         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
51463         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
51464         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
51465         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
51466         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
51467         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
51468         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
51469         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
51470         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
51471         Use an all-permissive copyright notice, recommended by RMS.
51472
51473 2005-01-18  Bob Proulx  <bob@proulx.com>
51474
51475         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
51476         simplify offsetof() macro construct to avoid compile failure with
51477         native HP-UX 11.0 ANSI C compiler.
51478
51479 2005-01-17  Bruno Haible  <bruno@clisp.org>
51480
51481         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
51482         redundant because stpncpy.m4 takes care of it.
51483
51484 2005-01-17  Bruno Haible  <bruno@clisp.org>
51485
51486         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
51487
51488 2005-01-17  Bruno Haible  <bruno@clisp.org>
51489
51490         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
51491         used.
51492
51493 2005-01-17  Bruno Haible  <bruno@clisp.org>
51494
51495         * lib/fwriteerror.h (fwriteerror): Change specification to include
51496         fclose.
51497         * lib/fwriteerror.c: Include <stdbool.h>.
51498         (fwriteerror): At the end, close the file stream. Record whether
51499         stdout was already closed.
51500
51501 2005-01-17  Bruno Haible  <bruno@clisp.org>
51502
51503         * lib/execute.c (environ): Declare if needed.
51504         * lib/pipe.c (environ): Likewise.
51505         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
51506
51507 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51508
51509         * modules/argp: Depend on vsnprintf
51510
51511 2005-01-10  Jim Meyering  <jim@meyering.net>
51512
51513         * modules/closeout (Depends-on): Add atexit.
51514
51515 2005-01-06  Bruno Haible  <bruno@clisp.org>
51516
51517         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
51518
51519 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51520
51521         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
51522         definitions to be after all include files, to avoid collisions.
51523         Problem reported by Bob Proulx.
51524
51525 2005-01-04  Jim Meyering  <jim@meyering.net>
51526
51527         Changes imported from coreutils.
51528         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
51529         as the mkstemp template, use a temporary directory and an
51530         8.3-friendly template to avoid trouble on systems like DJGPP.
51531         Reported by Juan M. Guerrero via Stepan Kasal.
51532         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
51533         close. Remove the temporary directory right away, rather than waiting
51534         for configure's at-exit trap code to do it.
51535         Suggestion from Stepan Kasal.
51536
51537 2005-01-01  Simon Josefsson  <jas@extundo.com>
51538
51539         * gnulib-tool: Print #include directives when --import'ing.
51540
51541 2004-12-28  Simon Josefsson  <jas@extundo.com>
51542
51543         * tests/test-base64.c: Include required header files.  Remove
51544         unused variables.
51545
51546 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51547
51548         * modules/error (Depends-on): Remove gettext.
51549
51550 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51551
51552         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
51553         not needed.  This removes a dependency on the gettext module.
51554         [defined _LIBC]: Do not include <libintl.h>; not needed.
51555
51556 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51557
51558         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
51559         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
51560
51561 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51562
51563         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
51564         HAVE_DECL_STRTOLD.
51565
51566 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51567
51568         * modules/getdate (Depends-on): Remove alloca-opt.
51569
51570 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51571
51572         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
51573
51574 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51575
51576         * lib/argp-parse.c: Include <stddef.h>.
51577         (alignof, alignto): New macros.
51578         (parser_init): Don't assume that void * is aligned sufficiently
51579         for struct option.
51580
51581         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
51582         need to extend the stack.
51583         (YYINITDEPTH): New macro, so that the initial stack isn't overly
51584         large.
51585
51586 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51587
51588         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
51589
51590 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51591
51592         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
51593         (2004-10-24) change.  Apparently this was a false alarm.
51594
51595         * modules/getdate: Depend on alloca-opt, not alloca.
51596
51597 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51598
51599         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
51600         Remove now-obsolete comment about AIX.
51601         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
51602         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
51603         (YYMAXDEPTH): New macro.
51604
51605 2004-12-18  Simon Josefsson  <jas@extundo.com>
51606
51607         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
51608
51609 2004-12-18  Bruno Haible  <bruno@clisp.org>
51610
51611         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
51612
51613 2004-12-18  Bruno Haible  <bruno@clisp.org>
51614
51615         * lib/fatal-signal.c (fatal_signals): Make non-const.
51616         (init_fatal_signals): New function.
51617         (uninstall_handlers, install_handlers): Ignore signals that were set to
51618         SIG_IGN.
51619         (at_fatal_signal): Call init_fatal_signals.
51620         (init_fatal_signal_set): Likewise. Ignore signals that were set to
51621         SIG_IGN.
51622         Reported by Paul Eggert.
51623
51624 2004-12-18  Bruno Haible  <bruno@clisp.org>
51625
51626         * doc/alloca.texi: New file.
51627         * doc/alloca-opt.texi: New file.
51628
51629 2004-12-17  Jim Meyering  <jim@meyering.net>
51630
51631         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
51632         Otherwise, install-sh could exit with improper exit status when
51633         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
51634
51635 2004-12-16  Simon Josefsson  <jas@extundo.com>
51636
51637         * tests/test-base64.c: Add license.
51638
51639 2004-12-15  Stepan Kasal  <address@hidden>
51640
51641         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
51642
51643 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
51644
51645         * modules/getcwd (Files): Add m4/d-ino.m4.
51646         Suggested by Mark D. Baushke.
51647
51648 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
51649
51650         * lib/getdate.y (textint): New member "negative".
51651         (time_zone_hhmm): New function.
51652         Expect 14 shift-reduce conflicts, not 13.
51653         (o_colon_minutes): New rule.
51654         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
51655         (yylex): Set the "negative" member of signed numbers.
51656
51657 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
51658
51659         * doc/getdate.texi (Time of day items, Time zone items):
51660         Describe new formats +00:00, UTC+00:00.
51661
51662 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51663
51664         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
51665         spurious "-l"s.  Problem reported by Stepan Kasal.
51666
51667 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
51668
51669         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
51670         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
51671
51672 2004-12-04  Simon Josefsson  <jas@extundo.com>
51673
51674         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
51675         Vandoorselaere <yoann@prelude-ids.org>.
51676
51677 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51678
51679         Changes imported from coreutils.
51680         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
51681         exist.
51682         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
51683
51684 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51685
51686         Changes imported from coreutils.
51687         * lib/hard-locale.c: Assume <locale.h> exists.
51688         Include "strdup.h".
51689         (GLIBC_VERSION): New macro.
51690         (hard_locale): Assume setlocale exists.
51691         Rewrite to avoid #ifdef.
51692         Use strdup rather than malloc + strcpy.
51693         * lib/human.c: Assume <locale.h> exists.
51694         (human_readable): Assume localeconv exists.
51695
51696 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51697
51698         * modules/hard-locale (Depends-on): Add strdup.
51699
51700 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
51701
51702         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
51703         convert T2, not T.  (Imported from libc.)
51704
51705 2004-11-30  Simon Josefsson  <jas@extundo.com>
51706
51707         * modules/restrict (License): Change to LGPL.
51708
51709 2004-11-30  Simon Josefsson  <jas@extundo.com>
51710
51711         * m4/restrict.m4: Add copyright and copying conditions.
51712
51713 2004-11-30  Simon Josefsson  <jas@extundo.com>
51714
51715         * m4/base64.m4: New file.
51716
51717 2004-11-30  Simon Josefsson  <jas@extundo.com>
51718
51719         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
51720         base64.
51721
51722         * tests/test-base64.c: New file.
51723
51724         * modules/base64: New file.
51725
51726 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
51727
51728         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
51729         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
51730
51731         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
51732
51733 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
51734
51735         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
51736         (__getcwd.c): Don't restore errno; glibc doesn't.
51737         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
51738         first, falling back to our code only if its results look suspicious.
51739         Ensure that the resulting buffer is only as large as necessary.
51740
51741         * lib/readutmp.c: Include readutmp.h first.
51742         Include <errno.h>, since readutmp.h no longer does that.
51743         * lib/readutmp.h: Don't include <errno.h>,
51744         <sys/param.h>, <time.h>; not needed to establish interface.
51745         (errno): Remove decl.
51746         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
51747         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
51748         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
51749
51750 2004-11-28  Simon Josefsson  <jas@extundo.com>
51751
51752         * lib/base64.h, base64.c: New file.
51753
51754 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
51755
51756         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
51757
51758 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
51759
51760         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
51761         (Depends-on): Remove pathmax, same.  Add mempcpy.
51762         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
51763         (Makefile.am): Append getcwd.h to lib_SOURCES.
51764         (Include): Add getcwd.h.
51765         (Maintainer): Change from Jim Meyering to "all, glibc",
51766         since getdate now uses intended-for-glibc code.
51767         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
51768         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
51769
51770 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51771
51772         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
51773         HP's ANSI C compiler.
51774         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
51775         Declaring int functions causes warnings on some modern systems and
51776         shouldn't be needed to compile on ancient ones.
51777         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
51778         defined.
51779
51780         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
51781         with the following changes.
51782         (__set_errno): Parenthesize properly.
51783         Include <stdbool.h>.
51784         (MIN, MAX, MATCHING_INO): New macros.
51785         (__getcwd): Define with prototype, not K&R form.
51786         Use heuristics to allocate default buffer on stack if possible.
51787         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
51788         behavior, and to avoid the PATH_MAX limit when computing
51789         ../../../../...
51790         Use MATCHING_INO to compare inode number to file.
51791         Check for arithmetic overflow in size calculations.
51792         Fix bug in reallocation of dot array that caused getcwd to fail
51793         on directories nested deeper than 75.
51794         Be more careful about saving errno on error.
51795         Do not use realloc; use only free+malloc, as this is a bit
51796         more flexible and avoids a needless copy operation.
51797         Do not inspect st_dev and st_ino for symbolic links; POSIX
51798         doesn't specify the latter.
51799         Check for closedir errors.
51800         Avoid needless casts.
51801         Use "#ifdef weak_alias" around weak_alias, to be like other
51802         glibc code.
51803         The following changes to getcwd.c have effect only when used in
51804         gnulib; they have no effect inside glibc proper.
51805         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
51806         as alloca isn't used.
51807         (alloca, __alloca): Likewise.
51808         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
51809         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
51810         unconditionally, as gnulib assumes C89 or better.
51811         Do not include <sys/param.h>.
51812         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
51813         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
51814         better.
51815         (NULL) [!defined NULL]: Remove; we assume C89 or better.
51816         Include <dirent.h> in a way that is compatible with modern Autoconf.
51817         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
51818         New macros, if not already defined.
51819         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
51820         Use "_LIBC", not "defined _LIBC", for consistency.
51821         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
51822         a mempcpy module.
51823         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
51824         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
51825         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
51826         credit only to Jim Meyering and adjust the copyright dates.
51827         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
51828         <stdlib.h>, <unistd.h>, "pathmax.h".
51829         Instead, include "xgetcwd.h" (first) and "getcwd.h".
51830         (INITIAL_BUFFER_SIZE): Remove.
51831         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
51832
51833 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51834
51835         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
51836         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
51837         Use the _ONCE methods, for efficiency.
51838         Check for fcntl.h.  In test program, include <errno.h>
51839         and <fcntl.h> if available.  Remove old K&R cruft from
51840         test program.  Check for common errors in GNU/Linux,
51841         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
51842         don't do AC_LIBOBJ, as that's getcwd.m4's job.
51843         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
51844         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
51845         name accordingly.
51846         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
51847         accommodate new getcwd.c.
51848         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
51849         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
51850         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
51851         that's all we need now.
51852
51853 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51854
51855         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
51856         argp-parse.c depends on getopt internals, that means we should
51857         always use our getopt, to be on the safe side.
51858         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
51859         order not to spoil the result of an eventual previous invocation
51860         of gl_GETOPT_SUBSTITUTE.
51861
51862 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51863
51864         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
51865         redefinition warnings. To avoid them, include the defines
51866         in `#if !defined __need_getopt ... #endif'. The only place
51867         where __getopt_argv_const is used is in definitions
51868         of getopt_long and getopt_long_only below, which are as well
51869         protected by `#ifndef __need_getopt'.
51870         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
51871         __need_getopt after including <stdio.h> and <unistd.h> These
51872         headers might have defined it.
51873
51874 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
51875
51876         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
51877
51878 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
51879
51880         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
51881         (futimens): New function, which uses futimes if available.
51882         (futimens, utimens): Support timespec==NULL, with same semantics
51883         as utime and utimens.
51884         * lib/utimens.h (futimens): New decl.
51885
51886 2004-11-23  Jim Meyering  <jim@meyering.net>
51887
51888         * lib/getopt_.h: Remove trailing blanks.
51889
51890 2004-11-23  Jim Meyering  <jim@meyering.net>
51891
51892         * lib/__fpending.c: Add comment.
51893
51894 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
51895
51896         * modules/canonicalize (Depends-on): Add xreadlink.
51897         Problem reported by James Youngman.
51898
51899 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
51900
51901         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
51902         New macros.
51903         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
51904         optopt): Use them instead of invoking ## directly; otherwise, the
51905         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
51906
51907 2004-11-19  Bruno Haible  <bruno@clisp.org>
51908
51909         * lib/strtok_r.c: Move comments from here...
51910         * lib/strtok_r.h: ... to here.
51911
51912 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
51913
51914         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
51915         implementations that mishandle size_t overflow.
51916
51917 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
51918
51919         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
51920         might fail.  Problem reported by Yoann Vandoorselaere.
51921         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
51922         implementations that mishandle size_t overflow.
51923
51924 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51925
51926         * modules/canon-host (Depends-on): Add strdup.
51927
51928 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51929
51930         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
51931
51932 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51933
51934         * lib/canon-host.c: Include "strdup.h".
51935         (canon_host): Use getaddrinfo if available, so that IPv6 works.
51936         Use strdup instead of malloc/strcpy to duplicate strings.
51937
51938         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
51939         (human_space_before_unit): New constant.
51940         * lib/human.c (human_readable): Support it.
51941
51942         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
51943         (xgetcwd): Set errno correctly when failing.
51944         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
51945         the failure is actually due to a PATH_MAX problem.
51946
51947         Further getopt changes to make it more likely that glibc will
51948         buy the changes back.
51949         * lib/getopt.c (POSIXLY_CORRECT): New constant.
51950         (getopt): Use it, so to preserve glibc semantic
51951         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
51952         when compiling for libc.
51953         * lib/getopt_.h (__getopt_argv_const): Bring it back.
51954         (getopt_long, getopt_long_only): Use it.
51955
51956         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
51957         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
51958         (getopt): Argv is now char * const *, as per standard.
51959         (_getopt_internal_r, _getopt_internal): Argv is now char **,
51960         not char *__getopt_argv_const *.
51961         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
51962         _getopt_long_only_r): Likewise.
51963         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
51964         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
51965         _getopt_long_r, _getopt_long_only_r): Likewise.
51966         * lib/getopt_.h (__getopt_argv_const): Remove.
51967         (getopt): Argv is now char * const *, as per standard.
51968
51969         * lib/getdate.y (tORDINAL): New token.
51970         (day, relunit): Allow it for relative times.
51971         (relative_time_table): Use tORDINAL for ordinals.
51972
51973 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51974
51975         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
51976         Document that "second" isn't allowed as an ordinal number.
51977
51978 2004-11-16  Jim Meyering  <jim@meyering.net>
51979
51980         * modules/closeout (Depends-on): Add fpending.
51981
51982 2004-11-15  Jim Meyering  <jim@meyering.net>
51983
51984         * lib/closeout.c: Include "__fpending.h" once again.
51985         Include <stdbool.h>.
51986         (close_stdout): Don't fail just because stdout was closed initially,
51987         since some programs don't write to stdout in the normal course of
51988         operation (other than --version and --help), and we don't want this
51989         function to make e.g. `touch file >&-' fail.
51990         But do fail if it was closed and someone has tried to write to it.
51991         E.g., `printf foo >&-' must fail.
51992
51993 2004-11-13  Jim Meyering  <jim@meyering.net>
51994
51995         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
51996
51997 2004-11-12  Simon Josefsson  <jas@extundo.com>
51998
51999         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
52000         small doc fix is still pending.
52001
52002 2004-11-11  Simon Josefsson  <jas@extundo.com>
52003
52004         * modules/strtok_r: New file.
52005
52006         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52007         strtok_r.
52008
52009 2004-11-11  Simon Josefsson  <jas@extundo.com>
52010
52011         * m4/strtok_r.m4: New file.
52012
52013         * m4/getopt.m4: Replace opterr.
52014
52015 2004-11-11  Simon Josefsson  <jas@extundo.com>
52016
52017         * lib/strtok_r.h, strtok_r.c: New file.
52018
52019 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
52020
52021         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
52022         of replacing opterr, getopt, etc.  This should handle the
52023         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
52024
52025 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
52026
52027         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
52028         we can stop lying to compilers about the constness of argv when we
52029         are compiled outside glibc.
52030         (getopt, getopt_long, getopt_long_only): Use it.
52031         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
52032         _getopt_internal, getopt): Likewise.
52033         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
52034         _getopt_long_only_r): Likewise.
52035         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
52036         _getopt_long_r, _getopt_long_only_r): Likewise.
52037
52038         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
52039         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
52040         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
52041         the other external symbols.
52042         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
52043         declaration, since the above renaming now works around collisions.
52044
52045 2004-11-11  Jim Meyering  <jim@meyering.net>
52046
52047         * lib/linebreak.c: Remove trailing blanks.
52048         * lib/alloca_.h: Likewise.
52049         * lib/acosl.c: Likewise.
52050         * lib/euidaccess.c: Likewise.
52051         * lib/allocsa.h: Likewise.
52052
52053 2004-11-10  Simon Josefsson  <jas@extundo.com>
52054
52055         * m4/getaddrinfo.m4: New file.
52056
52057 2004-11-10  Simon Josefsson  <jas@extundo.com>
52058
52059         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
52060
52061 2004-11-10  Simon Josefsson  <jas@extundo.com>
52062
52063         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52064         getaddrinfo.
52065
52066         * modules/getaddrinfo: New file.
52067
52068 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52069
52070         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
52071
52072 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52073
52074         * lib/mktime.c (SHR): New macro, which is a portable
52075         substitute for >> that should work even on Crays.
52076         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
52077         Problem reported by Mark D. Baushke in
52078         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
52079         * lib/getdate.y (SHR): Likewise.
52080         (tm_diff): Use it.
52081         * lib/strftime.c (SHR): Likewise.
52082         (tm_diff): Use it.
52083         * lib/quotearg.c (struct quoting_options): Use unsigned int for
52084         quote_these_too, so that right shifts are well defined.  All uses
52085         changed.
52086
52087 2004-11-10  Jim Meyering  <jim@meyering.net>
52088
52089         Ensure that no close failure goes unreported.
52090         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
52091         return early when it seems there's nothing to flush.
52092         Don't include __fpending.h.
52093
52094 2004-11-10  Jim Meyering  <jim@meyering.net>
52095
52096         * modules/closeout (Depends-on): Remove fpending.
52097
52098 2004-11-10  Jim Meyering  <jim@meyering.net>
52099
52100         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
52101
52102 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
52103
52104         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
52105         gl_FUNC_STRFTIME.
52106         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
52107         and AC_REQUIRE when possible, to avoid duplicate checks.
52108         Check for <wchar.h>.
52109
52110 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
52111
52112         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
52113
52114 2004-11-09  Bruno Haible  <bruno@clisp.org>
52115
52116         * m4/sockpfaf.m4: New file.
52117
52118 2004-11-05  Bruno Haible  <bruno@clisp.org>
52119
52120         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
52121         Reported by Mark D. Baushke <mdb@cvshome.org>.
52122
52123 2004-11-04  Bruno Haible  <bruno@clisp.org>
52124
52125         2004-09-11  Bruno Haible  <bruno@clisp.org>
52126                 * allocsa.valgrind: New file.
52127         2004-02-06  Bruno Haible  <bruno@clisp.org>
52128                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
52129                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
52130                 Reported by Christopher Seip <chris.seip@hp.com>.
52131
52132 2004-11-04  Bruno Haible  <bruno@clisp.org>
52133
52134         * modules/allocsa (Files): Add lib/allocsa.valgrind.
52135         (Makefile.am): Distribute it.
52136
52137 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
52138
52139         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
52140         with errno == ERANGE if the buffer is too small.
52141         Problem reported by Mark D. Baushke.
52142
52143 2004-11-03  Albert Chin  <china@thewrittenword.com>
52144             Paul Eggert  <eggert@cs.ucla.edu>
52145
52146         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
52147         equivalent, substitute $ac_type for equivalent type rather than
52148         blindly using uint32_t *always* which won't work if uint32_t is not
52149         available.  Define _UINT32_T to work around typedef of uint32_t if
52150         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
52151         2.5.1.
52152
52153 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
52154
52155         * m4/jm-macros.m4: Sync from coreutils.
52156         (gl_MACROS): Check for mbrlen, for pathchk.
52157         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
52158
52159 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
52160
52161         * lib/xreadlink.c (MAXSIZE): New macro.
52162         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
52163         size does not exceed MAXSIZE.  Avoid cast.
52164         As suggested by Mark D. Baushke in
52165         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
52166         if readlink fails with buffer size just under MAXSIZE, try again
52167         with MAXSIZE.
52168
52169 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
52170
52171         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
52172
52173 2004-11-02  Derek R. Price  <derek@ximbiot.com>
52174         and  Paul Eggert  <eggert@cs.ucla.edu>
52175
52176         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
52177         (get_date): Overparenthesize to avoid GCC warning.
52178
52179 2004-11-02  Bruno Haible  <bruno@clisp.org>
52180
52181         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
52182         returns void.
52183
52184 2004-11-02  Bruno Haible  <bruno@clisp.org>
52185
52186         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
52187         function returns void.
52188
52189 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
52190
52191         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
52192         fflush_unlocked, flockfile, funlockfile, funlockfile,
52193         fputs_unlocked, putc_unlocked.
52194
52195 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
52196
52197         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
52198         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
52199         already declared.
52200
52201 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52202
52203         * modules/getdate (Files): Add doc/getdate.texi.
52204         (Depends-on): Add setenv, xalloc.
52205
52206 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52207
52208         * lib/getdate.y: Add support for TZ="foo" within a date string.
52209         Fix some bugs near time_t boundaries.  Reject dates with
52210         out-of-range components, e.g., "Sept 31".
52211         Include <stdlib.h>, "setenv.h", "xalloc.h".
52212         (ISDIGIT_LOCALE): Remove; unused.
52213         Note that the TZ and time functions used here are not reentrant.
52214         (mktime_ok, get_tz): New functions.
52215         (TZBUFSIZE): New constant.
52216         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
52217         This requires that we sometimes generate our own TZ="XXX..." setting.
52218
52219 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52220
52221         * doc/getdate.texi: New file, from coreutils with modifications for
52222         the new TZ parsing.
52223
52224 2004-10-27  Derek R. Price  <derek@ximbiot.com>
52225
52226         * lib/mktime.c (not_equal_tm): Remove redundant check.
52227
52228 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52229
52230         * modules/regex (lib_SOURCES): Add regex.c.
52231         Reported by James Youngman in
52232         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
52233
52234 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52235
52236         * lib/getdate.y: Use Bison 1.875 features, and some minor
52237         code cleanups.  This change does not affect semantics.
52238         Don't include <stdlib.h>; no longer needed.
52239         Don't include unlocked-io.h; only the "#if TEST" code uses
52240         stdio, and performance isn't crucial there.
52241         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
52242         Bison 1.875 features as described below.
52243         All uses of "PC." replaced by "pc->".
52244         (YYSTYPE): Add a forward declaration.
52245         (yylex, yyerror): Use full prototypes in forward decls.
52246         Use "%pure-parser" rather than obsolescent "%pure_parser".
52247         Use %parse-param and %lex-param instead of obsolescent
52248         YYPARSE_PARAM and YYLEX_PARAM.
52249         (meridian_table, month_and_day_table, time_units_table,
52250         relative_time_table, time_zone_table, military_table,
52251         lookup_zone, lookup_word, get_date):
52252         Use NULL instead of 0 where appropriate.
52253         (to_hour): Avoid abort (), to avoid a dependency on
52254         stdlib.h.
52255         (yyerror, yylex): Now accepts parser_control * arg.
52256         (main) [TEST]: Use '\0' rather than 0 for char.
52257
52258 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52259
52260         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
52261
52262 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52263
52264         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
52265         It's now the caller's responsibility to handle the case where
52266         !HAVE_GETPAGESIZE && !defined getpagesize.
52267
52268         * lib/mktime.c (leapyear): Arg is long int, not int.
52269
52270 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
52271
52272         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
52273
52274 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
52275
52276         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
52277         missing.  Problem reported by James Youngman.
52278
52279 2004-10-16  Simon Josefsson  <jas@extundo.com>
52280
52281         * gnulib-tool: Fix comments.  Fix parse problem.
52282         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
52283
52284 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
52285
52286         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
52287         implementation of getopt_long.  Problem reported by Alexander Taler in:
52288         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
52289
52290 2004-10-15  Bruno Haible  <bruno@clisp.org>
52291
52292         * gnulib-tool: Untabify. Initialize supplied_libname.
52293         (func_usage): More homogenous output.
52294         (func_modules_transitive_closure, func_modules_to_filelist,
52295         func_emit_lib_Makefile_am): New functions.
52296         (func_import): New function, extracted from big case statement. Use
52297         func_get_license, func_modules_transitive_closure,
52298         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
52299         opt_lgpl. Don't use test -a, as it's not portable.
52300         (func_create_testdir): Use func_modules_transitive_closure,
52301         func_modules_to_filelist, func_emit_lib_Makefile_am.
52302
52303 2004-10-15  Bruno Haible  <bruno@clisp.org>
52304
52305         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
52306
52307 2004-10-15  Bruno Haible  <bruno@clisp.org>
52308
52309         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
52310         the portions belonging to each module.
52311         Suggested by Derek Robert Price <derek@ximbiot.com>.
52312
52313 2004-10-12  Simon Josefsson  <jas@extundo.com>
52314
52315         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
52316         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
52317         to real functions.
52318
52319 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52320
52321         * modules/vsnprintf: New file.
52322
52323 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52324
52325         * m4/vsnprintf.m4: New file.
52326
52327 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52328
52329         * lib/vsnprintf.h: New file.
52330         * lib/vsnprintf.c: New file.
52331
52332 2004-10-11  Bruno Haible  <bruno@clisp.org>
52333
52334         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
52335         vsnprintf.
52336
52337 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
52338
52339         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
52340
52341 2004-10-07  Bruno Haible  <bruno@clisp.org>
52342
52343         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
52344         fits into the provided buffer.
52345
52346 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
52347
52348         * lib/diacrit.c, diacrit.h: Add GPL notice.
52349
52350         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
52351         notice.
52352         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
52353         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
52354         This avoids a potential constant-folding bug.
52355
52356 2004-10-05  Bruno Haible  <bruno@clisp.org>
52357
52358         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
52359         for the declaration of strsep.
52360
52361 2004-10-05  Bruno Haible  <bruno@clisp.org>
52362
52363         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
52364
52365 2004-10-04  Simon Josefsson  <jas@extundo.com>
52366
52367         * modules/memmem: New file.
52368         * tests/test-memmem.c: New file.
52369         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
52370
52371 2004-10-04  Simon Josefsson  <jas@extundo.com>
52372
52373         * m4/memmem.m4: New file.
52374
52375 2004-10-04  Simon Josefsson  <jas@extundo.com>
52376
52377         * lib/memmem.h: New file.
52378         * lib/memmem.c: New file, taken from glibc.
52379
52380 2004-10-04  Simon Josefsson  <jas@extundo.com>
52381
52382         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
52383         '#ifdef USE_UNLOCKED_IO'.
52384
52385 2004-10-04  Simon Josefsson  <jas@extundo.com>
52386
52387         * config/srclist.txt: Add memmem from glibc.
52388
52389 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52390
52391         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
52392
52393         * modules/argmatch, modules/argp, modules/closeout, modules/error,
52394         modules/exclude, modules/getdate, modules/getline,
52395         modules/getndelim2, modules/getpass, modules/getpass-gnu,
52396         modules/getusershell, modules/linebuffer, modules/md5,
52397         modules/mountlist, modules/posixtm, modules/readtokens,
52398         modules/readutmp, modules/regex, modules/sha1,
52399         modules/version-etc, modules/yesno:
52400         Remove dependency on unlocked-io.
52401
52402 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52403
52404         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
52405
52406         * m4/unlocked-io.m4: Add copyright notice.
52407         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
52408
52409 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52410
52411         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
52412         * lib/xmalloc.c (xmemdup): Likewise.
52413         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
52414         XFREE): Remove these long-obsolescent macros.
52415         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
52416         * lib/xstrdup.c: Remove.
52417
52418         * lib/regex.c (re_comp): Cast gettext return value to char *,
52419         Problem reported by Martin Neitzel via Mark D. Baushke.
52420
52421 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52422
52423         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
52424         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
52425         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
52426         regex.c, sha1.c, version-etc.c, yesno.c:
52427         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
52428         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
52429         the includer's responsibility.
52430
52431         Sync from coreutils.
52432
52433         * lib/modechange.c (mode_compile): Don't decrement a pointer that
52434         points to the start of a string, as the C Standard says the
52435         resulting behavior is undefined.
52436
52437         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
52438         simple -> simple_backups, numbered_existing ->
52439         numbered_existing_backups, numbered -> numbered_backups
52440         to avoid shadowing problems.  All uses changed.
52441         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
52442         * lib/backupfile.c (check_extension, numbered_backup):
52443         Rename locals to avoid shadowing 'basename'.
52444         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
52445         once.
52446
52447         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
52448         * lib/.cvsignore: Add getopt.h.
52449
52450 2004-10-04  Bruno Haible  <bruno@clisp.org>
52451
52452         * modules/README: New file.
52453         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
52454         not a module.
52455
52456 2004-10-02  Jim Meyering  <jim@meyering.net>
52457
52458         * lib/dirfd.h, getpagesize.h: Add copyright notice.
52459
52460 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52461
52462         * modules/strsep: New file.
52463
52464 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52465
52466         * m4/strsep.m4: New file.
52467
52468 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52469
52470         * lib/strsep.h: New file.
52471         * lib/strsep.c: New file.
52472
52473 2004-10-01  Simon Josefsson  <jas@extundo.com>
52474
52475         * lib/snprintf.c (snprintf): Handle size==0.
52476
52477 2004-10-01  Simon Josefsson  <jas@extundo.com>
52478             Bruno Haible  <bruno@clisp.org>
52479
52480         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
52481         (snprintf): Declare 'args'.
52482
52483 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
52484
52485         * lib/snprintf.c: Remove comments as to why each header is needed.
52486
52487 2004-10-01  Bruno Haible  <bruno@clisp.org>
52488
52489         * MODULES.html.sh: Add strsep.
52490
52491 2004-09-30  Simon Josefsson  <jas@extundo.com>
52492
52493         * modules/snprintf: New file.
52494
52495 2004-09-30  Simon Josefsson  <jas@extundo.com>
52496
52497         * m4/snprintf.m4: New file.
52498
52499 2004-09-30  Simon Josefsson  <jas@extundo.com>
52500
52501         * lib/snprintf.h, lib/snprintf.c: New files.
52502
52503 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52504
52505         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
52506         (hol_entry_help): Never translate an empty string.
52507         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
52508         * lib/argp.h (OPTION_NO_TRANS): New option.
52509
52510 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52511
52512         * modules/argp (Maintainer): Replace Simon Josefsson
52513         by Sergey Poznyakoff.
52514
52515 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52516
52517         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
52518         changes merged back into glibc.
52519
52520 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52521
52522         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
52523
52524 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
52525
52526         * lib/xvasprintf.c: Include xalloc.h.
52527         (xvasprintf): Use xalloc_die, not xmalloc_die.
52528
52529 2004-09-29  Bruno Haible  <bruno@clisp.org>
52530
52531         * modules/alloca-opt: New file, derived from modules/alloca.
52532         * modules/allocsa: Depend on alloca-opt instead of alloca.
52533         * modules/setenv: Likewise.
52534         * modules/vasnprintf: Likewise.
52535         * MODULES.html.sh: Add alloca-opt.
52536
52537 2004-09-28  Simon Josefsson  <jas@extundo.com>
52538
52539         * gnulib-tool: New parameter --lgpl, to asseert that modules are
52540         LGPL, and to replace license template from GPL to LGPL.
52541
52542 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52543
52544         * modules/dummy: Change license to LGPL.
52545
52546 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52547
52548         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
52549
52550 2004-09-24  Simon Josefsson  <jas@extundo.com>
52551
52552         * modules/minmax (License): Change from GPL to LGPL.
52553
52554 2004-09-23  Simon Josefsson  <jas@extundo.com>
52555
52556         * gnulib-tool (--import): Typo.
52557
52558 2004-09-23  Simon Josefsson  <jas@extundo.com>
52559
52560         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
52561
52562 2004-09-22  Bruno Haible  <bruno@clisp.org>
52563
52564         * modules/*: Add 'License' field.
52565         * gnulib-tool: Accept --extract-license option.
52566         (func_get_license): New function.
52567
52568 2004-09-21  Bruno Haible  <bruno@clisp.org>
52569
52570         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
52571         Reported by Simon Josefsson.
52572
52573 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52574
52575         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
52576         gl_AC_TYPE_LONG_LONG.
52577
52578 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52579
52580         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
52581
52582 2004-09-18  Simon Josefsson  <jas@extundo.com>
52583         and  Paul Eggert  <eggert@cs.ucla.edu>
52584
52585         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
52586         calls with autoreconf.  Define GL_LIB.
52587
52588 2004-09-14  Karl Berry  <karl@gnu.org>
52589
52590         * config/srclist.txt: unsync setenv.c, sigh.
52591
52592 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52593
52594         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
52595         Problem reported by Bruno Haible in:
52596         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
52597
52598 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52599
52600         * config/srclist.txt: Comment out argp-pvh.c.
52601
52602 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
52603
52604         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
52605         in case some system header has #define'd it.  Problem reported by
52606         Soeren D. Schulze in
52607         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
52608
52609 2004-09-09  Karl Berry  <karl@gnu.org>
52610
52611         * regex.[ch]: delete from the root.  These were supposed to be
52612                 synced with emacs cvs, but this has not happened for about
52613                 a year, and anyway nothing else uses emacs regex.[ch].
52614                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
52615                 lib/regex[.ch] is untouched.
52616
52617 2004-09-09  Bruno Haible  <bruno@clisp.org>
52618
52619         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
52620
52621 2004-09-09  Bruno Haible  <bruno@clisp.org>
52622
52623         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
52624         modifications.
52625         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
52626
52627 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
52628
52629         * modules/xvasprintf: New file.
52630         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
52631
52632 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
52633
52634         * lib/xvasprintf.h: New file.
52635         * lib/xvasprintf.c: New file.
52636         * lib/xasprintf.c: New file.
52637
52638 2004-09-08  Bruno Haible  <bruno@clisp.org>
52639
52640         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
52641
52642 2004-09-08  Bruno Haible  <bruno@clisp.org>
52643
52644         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
52645         length is > INT_MAX.
52646         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
52647         more.
52648
52649 2004-09-08  Bruno Haible  <bruno@clisp.org>
52650
52651         * lib/stdint_.h: New file, taken from GNU clisp.
52652
52653 2004-09-08  Bruno Haible  <bruno@clisp.org>
52654             Oskar Liljeblad  <oskar@osk.mine.nu>
52655
52656         * modules/stdint: New file.
52657         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
52658
52659 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52660
52661         Import from coreutils.
52662         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
52663         strings on unbounded length.  alloca's performance benefits aren't
52664         that important here.
52665         (V_STRDUP): Remove.
52666         (parse_with_separator): New function, with most of the internals
52667         of the old parse_user_spec.  Allow user to omit both user and group,
52668         for compatibility with FreeBSD.
52669         Clone only the user name, not the entire spec.
52670         Do not set *uid, *gid unless entirely successful.
52671         Avoid memory leak in some failing cases.
52672         Fix regression for USER.GROUP reported by Dmitry V. Levin in
52673         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
52674         (parse_user_spec): Rewrite to use parse_with_separator.
52675
52676 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52677
52678         * modules/userspec: Don't depend on alloca.
52679
52680 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52681
52682         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
52683
52684 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52685
52686         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
52687         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
52688         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
52689
52690 2004-08-16  Simon Josefsson  <jas@extundo.com>
52691
52692         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
52693         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
52694         Add --dry-run for --import.
52695         Let user provided command line parameters override configure.ac
52696         settings.
52697
52698 2004-08-12  Simon Josefsson  <jas@extundo.com>
52699
52700         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
52701         as discussed with Paul Eggert in threads rooted at
52702         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
52703         and
52704         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
52705         Before, the test was empty, and relied on ELIDE_CODE in source
52706         code.)
52707         (gl_PREREQ_GETOPT): New macro.
52708         (gl_GETOPT): Use them.
52709
52710 2004-08-12  Simon Josefsson  <jas@extundo.com>
52711
52712         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
52713         * lib/getopt_.h: Renamed from getopt.h.
52714
52715 2004-08-12  Simon Josefsson  <jas@extundo.com>
52716
52717         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
52718         Change default library name from libfoo to libgnu.
52719         Now, if you have a configure.ac that says:
52720                 gl_SOURCE_BASE(gl)
52721                 gl_M4_BASE(gl/m4)
52722                 gl_MODULES(error getopt etcetera)
52723                 gl_INIT
52724         you can import all you need by running:
52725                 ../gnulib/gnulib-tool --import
52726
52727         * modules/getopt (Files): Rename getopt.h to getopt_.h.
52728         (Makefile.am): Rewrite, use logic from argz.
52729         (Include): Use <getopt.h> instead of "getopt.h".
52730
52731 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52732
52733         * modules/argp (Files): Add m4/unlocked-io.m4.
52734         (Depends-on): Add extensions.
52735
52736 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52737
52738         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
52739         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
52740         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
52741         Check for program_invocation_name, program_invocation_short_name,
52742         flockfile, funlockfile, features.h, _getopt_long_only_r.
52743
52744 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52745
52746         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
52747         its complicated substitute.
52748         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
52749         and program_invocation_name.
52750         (__argp_basename) [!_LIBC]: Remove; the only use was
52751         replaced by its body.
52752         (__argp_short_program_name): Change condition from
52753         !defined __argp_short_program_name to
52754         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
52755         to match argp-namefrob.h.
52756         (__argp_failure): Don't assume strerror_r returns char *.
52757         * lib/argp-parse.c (N_): Define unconditionally.
52758         (argp_default_options): Fill out initializers with 0 to avoid
52759         gcc warnings.
52760
52761 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52762
52763         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
52764         getopt1.c.
52765
52766 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52767
52768         Merge from coreutils.
52769
52770         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
52771
52772         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
52773         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
52774
52775 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52776
52777         Merge from coreutils.
52778
52779         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
52780         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
52781         for Reliant Unix 5.43.
52782
52783         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
52784         (union fooround): Use uintmax_t, not long int.
52785         The rest is a merge from libc:
52786         [defined _LIBC]: Include <shlib-compat.h>.
52787         (_obstack) [defined _LIBC]: Remove after 2.3.4.
52788
52789         * lib/settime.c (settime): Recode to avoid warning with
52790         Sun Forte C 6U2.
52791
52792         * lib/strverscmp.c: Convert to UTF-8.
52793
52794 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52795
52796         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
52797         m4/uintmax_t.m4.
52798
52799 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52800
52801         * modules/xalloc-die: New file.
52802         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
52803
52804         * modules/md5 (Files): Add m4/uint32_t.m4.
52805         * modules/sha1: Renamed from modules/sha.
52806         (Files):
52807         Rename lib/sha.h to lib/sha1.h.
52808         Rename lib/sha.c to lib/sha1.c.
52809         Rename m4/sha.m4 to m4/sha1.m4.
52810         (lib_SOURCES): Likewise.
52811         (configure.ac): Rename gl_SHA to gl_SHA1.
52812         (Include): sha.h -> sha1.h.
52813
52814 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52815
52816         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
52817         * m4/sha1.m4: Renamed from sha.m4.
52818         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
52819
52820 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52821
52822         * lib/obstack.h (obstack_empty_p):
52823         Don't assume that chunk->contents is suitably aligned.
52824         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
52825         Likewise. Problem reported by Benno in
52826         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
52827
52828         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
52829         readable.  This could be improved further but it'd take some work.
52830
52831 2004-08-08  Simon Josefsson  <jas@extundo.com>
52832
52833         * modules/xgethostname (Depends-on): Remove exit and error (not
52834         used).
52835
52836         * modules/getpass-gnu: Add getpass.h.
52837         (Depends-on): Add stdbool.
52838         * modules/getpass: Add getpass.h.
52839
52840 2004-08-08  Simon Josefsson  <jas@extundo.com>
52841
52842         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
52843         Check getpass declaration.
52844
52845 2004-08-08  Simon Josefsson  <jas@extundo.com>
52846
52847         * lib/xgethostname.c: Don't include error.h (not used).
52848
52849         * lib/getpass.h: Add.
52850         * lib/getpass.c: Include getpass.h first.
52851
52852 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
52853
52854         * lib/xalloc-die.c: New file.
52855         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
52856         All uses removed.
52857         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
52858         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
52859         xalloc-die.c.
52860         (_, N_, xalloc_die): Move to xalloc-die.c.
52861         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
52862         so that we needn't mess with xalloc_msg_memory_exhausted.
52863
52864         * lib/sha1.h: Renamed from sha.h.
52865         (SHA1_H): Renamed from _SHA_H.
52866         (sha1_ctx): Renamed from sha_ctx.
52867         (sha1_init_ctx): Renamed from sha_init_ctx.
52868         (sha1_process_block): Renamed from sha_process_block.
52869         (sha1_process_bytes): Renamed from sha_process_bytes.
52870         (sha1_finish_ctx): Renamed from sha_finish_ctx.
52871         (sha1_read_ctx): Renamed from sha_read_ctx.
52872         (sha1_stream): Renamed from sha_stream.
52873         (sha1_buffer): Renamed from sha_buffer.
52874         * lib/sha1.c: Likewise; renamed from sha.c.
52875         Do not include <sys/types.h>.
52876         Include <stddef.h> rather than <stdlib.h>.
52877
52878 2004-08-08  Bruno Haible  <bruno@clisp.org>
52879
52880         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
52881         FILESYSTEM_PREFIX_LEN.
52882         * lib/progreloc.c: Likewise.
52883         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
52884
52885 2004-08-06  Simon Josefsson  <jas@extundo.com>
52886
52887         * modules/progname (Depends-on): Don't depend on stdbool.
52888
52889 2004-08-06  Simon Josefsson  <jas@extundo.com>
52890
52891         * modules/getsubopt: New file.
52892         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52893         getsubopt.
52894
52895 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52896
52897         More merge from coreutils.
52898
52899         * m4/utimens.m4, m4/utimecmp.m4: New files.
52900         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
52901         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
52902         prereq.m4, sha.m4: Import changes from coreutils.
52903
52904 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52905
52906         More merge from coreutils.
52907         * modules/raise, modules/readtokens0, modules/utimens:
52908         * modules/utimecmp, module/xnanosleep: New files.
52909         * modules/strftime: Add lib/strftime.h.
52910         Change include from <time.h> to "strftime.h".
52911         * modules/yesno: Add lib/yesno.h.
52912         * modules/backupfile: Remove lib/addext.c.
52913         * modules/euidaccess: Add stat-macros.h.
52914         * modules/canonicalize, modules/euidaccess,
52915         modules/filemode, modules/lchown, modules/makepath,
52916         modules/rmdir, modules/stat: Likewise.
52917
52918 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52919
52920         Merge from tar.
52921         * lib/argp-help.c (make_hol, hol_append): Don't assume that
52922         SIZE_MAX is a valid preprocessor constant.
52923         (__argp_basename): Change from "#ifndef _LIBC"
52924         to "#ifndef __argp_short_program_name", so that
52925         we don't compile these functions for tar.
52926
52927         More merges from coreutils.
52928         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
52929         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
52930         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
52931         * lib/addext.c: Remove; no longer needed.
52932         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
52933         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
52934         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
52935         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
52936         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
52937         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
52938         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
52939         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
52940         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
52941         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
52942         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
52943         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
52944         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
52945         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
52946         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
52947         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
52948         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
52949         Import changes from coreutils.
52950
52951 2004-08-05  Simon Josefsson  <jas@extundo.com>
52952
52953         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
52954
52955 2004-08-05  Simon Josefsson  <jas@extundo.com>
52956
52957         * m4/getsubopt.m4: New file.
52958
52959 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
52960
52961         Merge from coreutils.
52962
52963         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
52964         * m4/getcwd-path-max.m4: New files.
52965
52966         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
52967         FILESYSTEM_PREFIX_LEN ->
52968         FILE_SYSTEM_PREFIX_LEN.
52969         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
52970         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
52971         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
52972         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
52973
52974         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
52975         prerequisite modules now handle the DOS stuff.
52976         Don't check for unistd.h.
52977
52978 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
52979
52980         Merge from coreutils.
52981
52982         * lib/.gdb-history: Remove; this doesn't belong here.
52983
52984         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
52985         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
52986         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
52987         * lib/getcwd.c: New files.
52988
52989         * lib/dirname.h: Include <stdbool.h>.
52990         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
52991         for consistency with POSIX terminology.  All uses changed.
52992         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
52993         (strip_trailing_slashes): Use bool for booleans.
52994         * lib/stripslash.c (strip_trailing_slashes): Likewise.
52995
52996         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
52997         sometimes returns a positive errno value even when it succeeds.
52998         (print_errno_message) [!LIBC]: Fall back on strerror if
52999         __strerror_r fails.
53000
53001         * lib/path-concat.c (mempcpy): Don't define if a system header defines
53002         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
53003         (longest_relative_suffix): New function.
53004         (path_concat): Use it.  Assume first argument is not NULL.
53005         Port to DOS.  Omit redundant separators.
53006         Report an error instead of returning NULL.
53007         Use mempcpy instead of memcpy.
53008         (xpath_concat): Remove: not declared or used.
53009
53010         * lib/same.h: Include <stdbool.h>
53011         (same_name): Return bool, not int.
53012         * lib/same.c (same_name): Likewise.
53013         (errno): Don't declare; we assume C89 or better now.
53014
53015         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
53016         if not already defined.
53017
53018         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
53019         * lib/dup-safer.c (errno): Likewise.
53020
53021 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
53022
53023         Merge from coreutils.
53024         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
53025         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
53026         * modules/path-concat: Don't depend on strdup.
53027
53028 2004-08-03  Simon Josefsson  <jas@extundo.com>
53029
53030         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
53031         * lib/progname.h: Don't include stdbool.h.
53032
53033 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
53034
53035         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
53036         * MODULES.html.sh (func_all_modules): Remove fatal.
53037
53038 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
53039
53040         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
53041
53042 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
53043
53044         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
53045         working.
53046
53047 2004-08-02  Simon Josefsson  <jas@extundo.com>
53048
53049         * lib/getsubopt.h: New file, with comments from Bruno Haible.
53050         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
53051         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
53052
53053 2004-08-01  Simon Josefsson  <jas@extundo.com>
53054
53055         * lib/xgetdomainname.c: Include stdlib.h, for free().
53056
53057 2004-07-19  Bruno Haible  <bruno@clisp.org>
53058
53059         * MODULES.html.sh (func_all_modules): Add dummy.
53060
53061 2004-07-16  Simon Josefsson  <jas@extundo.com>
53062
53063         * modules/dummy: New file.
53064
53065 2004-07-16  Simon Josefsson  <jas@extundo.com>
53066
53067         * lib/dummy.c: New file.
53068
53069 2004-07-16  Bruno Haible  <bruno@clisp.org>
53070
53071         * lib/backupfile.h: Add extern "C" for C++.
53072         * lib/closeout.h: Likewise.
53073         * lib/copy-file.h: Likewise.
53074         * lib/findprog.h: Likewise.
53075         * lib/full-write.h: Likewise.
53076         * lib/pathname.h: Likewise.
53077         * lib/progname.h: Likewise.
53078         * lib/stpcpy.h: Likewise.
53079         * lib/stpncpy.h: Likewise.
53080         * lib/strcase.h: Likewise.
53081         * lib/strstr.h: Likewise.
53082         * lib/xalloc.h: Likewise.
53083
53084         * lib/mbswidth.h: Add extern "C" for C++.
53085         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
53086
53087 2004-07-13  Robert Millan  <robertmh@gnu.org>
53088
53089         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
53090
53091 2004-07-09  Simon Josefsson  <jas@extundo.com>
53092
53093         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
53094         failed without this.)
53095
53096 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
53097
53098         * modules/chown (Files): Add lib/fchown-stub.c, since
53099         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
53100
53101 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
53102
53103         * lib/fchown-stub.c: New file.
53104
53105 2004-06-24  Jim Meyering  <jim@meyering.net>
53106
53107         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
53108
53109 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53110
53111         * modules/argz: Omit "#include".
53112
53113         * MODULES.html.sh (func_all_modules): Add calloc, to match
53114         2004-06-01 addition of calloc module.
53115
53116 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53117
53118         * m4/argz.m4: New file, which is autoupdated from libtool.
53119
53120 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53121
53122         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
53123         libtool.
53124
53125 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53126
53127         * config/srclist-update: Don't insist on "USA." before the
53128         close-comment, as libtool omits the period and puts the */ on a
53129         separate line.
53130         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
53131         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
53132
53133 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
53134
53135         * modules/argz: New file.
53136         * MODULES.html.sh (func_all_modules): Add argz.
53137
53138 2004-06-12  Jim Meyering  <jim@meyering.net>
53139         and  Paul Eggert  <eggert@cs.ucla.edu>
53140
53141         * modules/hash (Files): Add lib/xalloc.h.
53142         * modules/pipe (Depends-on): Add wait-process.
53143         * modules/stat (Depends-on): Add xalloc.
53144         * modules/userspec (Files): Add lib/userspec.h.
53145         * modules/xstrto
53146
53147         Upgrade from gettext-0.13.
53148         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
53149         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
53150         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
53151
53152 2004-06-10  Jim Meyering  <jim@meyering.net>
53153
53154         * lib/calloc.c: New file.
53155
53156 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
53157
53158         * lib/getdate.y (yylex): Allow space between sign and number.
53159         Problem reported by Dan Jacobson.
53160
53161 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
53162
53163         Merge from coreutils CVS.
53164
53165         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
53166         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
53167         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
53168         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
53169         xstrtol.m4: Fix copyright date and/or serial number.
53170
53171         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
53172         See if we need an fchown replacement.
53173         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
53174         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
53175         and use the replacement function if we detect either defect.
53176
53177         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
53178         gl_UTIMECMP.
53179
53180 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
53181         and  Jim Meyering  <jim@meyering.net>
53182
53183         Merge from coreutils CVS.
53184
53185         * lib/stat-macros.h: New file, with contents from file-type.h
53186         and coreutils' system.h.
53187         * lib/file-type.c: Include "stat-macros.h".
53188         * lib/file-type.h (file_type): Move all macro definitions to new file,
53189         stat-macros.h.
53190
53191         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
53192         Wrap old code with this conditional.
53193         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
53194         function that does not dereference symlinks.
53195         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
53196
53197         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
53198         dependency problems.
53199         (xreadlink): Accept new arg SIZE, for efficiency.
53200         All decls and uses changed.
53201         * lib/xreadlink.h: Include <stddef.h>, for size_t.
53202
53203         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
53204         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
53205
53206         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
53207         sysexits.h.
53208
53209 2004-06-01  Jim Meyering  <jim@meyering.net>
53210
53211         * m4/calloc.m4: New file.
53212
53213 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
53214
53215         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
53216         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
53217         Also, fix a typo in a diagnostic.
53218
53219 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
53220
53221         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
53222         or AC_FUNC_REALLOC.
53223
53224 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
53225
53226         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
53227         macros to be defined.
53228         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
53229         the allocator returns NULL because the requested size is zero.
53230
53231 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53232
53233         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
53234         var.  Add comment explaining why libc still defines it.  This
53235         merges the following patch from glibc:
53236         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
53237
53238 2004-05-20  Andreas Schwab  <schwab@suse.de>
53239
53240         * m4/free.m4: Replace free if it not known to work, not the other
53241         way round.
53242
53243 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
53244
53245         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
53246         present in glibc since revision 1.1 of this file.
53247         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
53248         obstack_alignment_mask, obstack_alloc, obstack_base,
53249         obstack_blank, obstack_blank_fast, obstack_chunk_size,
53250         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
53251         obstack_grow0, obstack_init, obstack_int_grow,
53252         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
53253         obstack_next_free, obstack_object_size, obstack_ptr_grow,
53254         obstack_ptr_grow_fast, obstack_room): Remove declarations of
53255         nonexistent functions.
53256
53257 2004-05-18  Karl Berry  <karl@gnu.org>
53258
53259         * config/srclist.txt: break link for vasnprintf.c.
53260
53261 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
53262
53263         Port obstack to the AS/400, where pointers are 16 bytes wide and
53264         you cannot cast an integer to a valid pointer.  This patch is
53265         currently waiting to be integrated into glibc; see
53266         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
53267
53268         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
53269         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
53270         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
53271         (struct obstack): temp member is now a union of a pointer and
53272         an integer, instead of an integer.  All integer uses changed.
53273         This does not affect the physical layout of struct obstack,
53274         except on hosts (like the AS/400) where the size or alignment of
53275         void * is greater than that of ptrdiff_t.
53276         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
53277         __STDC__)]: Store temporary in pointer member of union, not
53278         integer member.
53279         * lib/obstack.c: Include <stddef.h>, for offsetof.
53280         (struct fooalign): Remove; it doesn't need a name.
53281         (union fooround): Change double to long double, and add void *.
53282         (DEFAULT_ALIGNMENT): Use offsetof to compute.
53283         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
53284         not a macro.  Hence the values are always int; so remove all
53285         casts-to-int in uses.
53286
53287 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
53288
53289         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
53290         we can get this patch merged into glibc.
53291
53292 2004-05-17  Derek R. Price  <derek@ximbiot.com>
53293             Paul Eggert  <eggert@cs.ucla.edu>
53294
53295         * m4/argp: Depend on alloca.
53296
53297 2004-05-17  Derek R. Price  <derek@ximbiot.com>
53298             Paul Eggert  <eggert@cs.ucla.edu>
53299
53300         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
53301         freecoding.
53302
53303 2004-05-17  Bruno Haible  <bruno@clisp.org>
53304
53305         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
53306         precision that consists of a '.' followed by an empty digit string.
53307         Patch by Tor Lillqvist <tml@iki.fi>.
53308
53309 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53310
53311         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
53312         for backward compatibility with older code.  We need our own
53313         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
53314         it under some other name, and our alloca.h will define it.
53315
53316 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53317             Derek Price  <derek@ximbiot.com>
53318
53319         * lib/alloca.c: Include <alloca.h>, to get our interface.
53320         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
53321         include <alloca.h> first.  Use C89 prototype for alloca; this
53322         requires including <stddef.h> for size_t.  Use extern "C" if C++.
53323         Use #elif for simplicity, since we can assume C89 now.
53324         Don't try to source the system alloca.h since it will not be found
53325         and to prevent recursively including its replacement.
53326         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
53327         * lib/regex.c: Likewise.
53328
53329 2004-05-16  Derek Price  <derek@ximbiot.com>
53330             Paul Eggert  <eggert@cs.ucla.edu>
53331
53332         getline cleanup.  This changes the getndelim2 API: both order of
53333         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
53334         no delimiter).
53335
53336         * lib/getline.c: Don't include stddef.h or stdio.h, since our
53337         interface does that.
53338         (getline): Always use getdelim, so that we don't have two
53339         copies of this code.
53340         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
53341         if available.
53342         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
53343         (GETNDELIM2_MAXIMUM): New macro.
53344         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
53345         instead of the old practice of delim2==0.  All callers changed.
53346         Return -1 on overflow, instead of returning junk.
53347         Do not set *linesize unless allocation succeeds.
53348         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
53349         that we include sys/types.h.
53350         * lib/getnline.h: Likewise.
53351         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
53352         (getndelim2): Reorder arguments.
53353         * lib/getnline.c (getnline, getndelim):
53354         Don't discard the NMAX argument.
53355         (getnline): Invoke getndelim, to avoid code duplication.
53356         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
53357         of (size_t) -1 by callers of the getnline family.
53358
53359 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53360
53361         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
53362         Check for gettimeofday.
53363         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
53364         Check for settimeofday, stime.
53365
53366 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53367
53368         * lib/nanosleep.c (suspended): Change its type from int to
53369         sig_atomic_t volatile.
53370         (first_call): Make it private to rpl_nanosleep, and have it
53371         be zero initially as that's a bit faster.
53372         (my_usleep): Round up fractional times instead of truncating them,
53373         as this is the usual meaning for 'sleep'.
53374
53375         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
53376         doesn't work.
53377         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
53378         (ENOSYS): Define if not defined.
53379         (settime): Fall back on stime if it exists and settimeofday fails.
53380         But don't bother with fallbacks if a method fails with errno == EPERM.
53381
53382 2004-05-11  Jim Meyering  <jim@meyering.net>
53383
53384         Prior to this change, the save_cwd caller required read access to the
53385         current directory on most systems (ones with the fchdir function).
53386
53387         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
53388         fails, try write-only, and finally, resort to using xgetcwd.
53389
53390 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53391
53392         * lib/obstack.c, obstack.h: Import changes from libc.
53393
53394 2004-04-28  Bruno Haible  <bruno@clisp.org>
53395
53396         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
53397         also implicitly appends .exe to executables.
53398         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
53399         accepts Windows pathnames.
53400         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
53401         Treat Cygwin like Windows, since it now accepts Windows pathnames.
53402         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
53403         Treat Cygwin like Windows, since it now accepts Windows pathnames.
53404         Reported by Derek Robert Price <derek@ximbiot.com>.
53405
53406 2004-04-21  Karl Berry  <karl@gnu.org>
53407
53408         * config/srclist.txt (localcharset.c): break sync.
53409
53410 2004-04-20  Paul Eggert  <eggert@twinsun.com>
53411
53412         * m4/host-os.m4: Add a copyright notice.
53413
53414 2004-04-20  Jim Meyering  <jim@meyering.net>
53415
53416         Change UTILS_ to gl_ in AC_DEFINE'd names.
53417         Change utils_- and jm_-prefixed variables, too.
53418         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
53419         UTILS_FUNC_MKDIR_TRAILING_SLASH.
53420         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
53421
53422         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
53423         Don't emit trailing blanks.
53424         Also rename jm_-prefixed variables to have gl_ prefix.
53425
53426         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
53427         Also rename jm_-prefixed variables to have gl_ prefix.
53428
53429         * m4/jm-macros.m4: Reflect the renamings.
53430         * m4/prereq.m4: Likewise.
53431
53432 2004-04-20  Jim Meyering  <jim@meyering.net>
53433
53434         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
53435         memory.
53436
53437 2004-04-20  Jim Meyering  <jim@meyering.net>
53438             Bruno Haible  <bruno@clisp.org>
53439
53440         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
53441         memory when realloc fails.
53442
53443 2004-04-19  Jim Meyering  <jim@meyering.net>
53444
53445         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
53446         now that readutmp.c may call `free (0)'.
53447
53448 2004-04-19  Bruno Haible  <bruno@clisp.org>
53449
53450         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
53451         * m4/inttypes_h.m4: Likewise.
53452         * m4/stdint_h.m4: Likewise.
53453         * m4/intmax_t.m4: Likewise.
53454         * m4/uintmax_t.m4: Likewise.
53455
53456 2004-04-18  Jim Meyering  <jim@meyering.net>
53457
53458         * m4/prereq.m4: Don't forbid jm_ prefix.
53459
53460         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
53461         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
53462         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
53463         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
53464         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
53465         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
53466         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
53467         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
53468         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
53469         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
53470         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
53471         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
53472         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
53473         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
53474         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
53475         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
53476         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
53477         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
53478         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
53479
53480 2004-04-18  Jim Meyering  <jim@meyering.net>
53481
53482         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
53483         failure, don't leak memory and do call END_UTMP_ENT.
53484
53485 2004-04-16  Jim Meyering  <jim@meyering.net>
53486
53487         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
53488         coreutils' stat program.
53489         (gl_PREREQ): Don't require jm_PREREQ_STAT.
53490
53491 2004-04-11  Paul Eggert  <eggert@twinsun.com>
53492
53493         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
53494         C89.
53495         (CHAR_BIT): Remove, since we assume C89.
53496         Include <stdint.h> if available, as per current Autoconf CVS advice.
53497
53498 2004-03-31  Jim Meyering  <jim@meyering.net>
53499
53500         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
53501         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
53502         * m4/xalloc.m4: Likewise.
53503
53504 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53505
53506         Merge from coreutils.
53507
53508         * m4/inttostr.m4: New file.
53509         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
53510         Require AM_STDBOOL_H and gl_TIMESPEC instead.
53511         Require gl_CLOCK_TIME.
53512         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
53513
53514 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53515
53516         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
53517         not bool, to be more consistent with Unix conventions.
53518         Suggested by Bruno Haible.
53519
53520         Merge from coreutils.
53521
53522         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
53523         * lib/umaxtostr.c: New files.
53524
53525         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
53526         the usual <time.h> dance.
53527         (get_date): Change signature to support fractional time stamps.
53528         All callers changed.
53529         * lib/getdate.y: Include "getdate.h" first, as we can now
53530         assume C89 and don't need to worry about 'const'.
53531         Similarly, include "unlocked-io.h" near start, not in middle.
53532         Include <limits.h>.
53533         (textint.value): Use long int rather than int.
53534         (textint.digits): Use size_t rather than int.
53535         (BILLION, LOG10_BILLION): New constants.
53536         (parser_control): New member rel_ns.  Members day_ordinal,
53537         time_zone, month, day, hour, minutes, rel_year, rel_month,
53538         rel_day, rel_hour, rel_minutes, rel_seconds
53539         are now long int, not int.  Member seconds is now struct timespec,
53540         not int.  New member timespec_seen.  Members dates_seen, days_seen,
53541         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
53542         not int.
53543         (%union.intval): Now long int, not int.
53544         New member timespec.
53545         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
53546         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
53547         (spec): Now is a timespec or an item list.
53548         (timespec, items): New nonterminals.
53549         (time, rel, relunit, number, get_date):
53550         Add support for fractional seconds.
53551         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
53552         (gmtime, localtime, mktime): Remove decls; not needed with C89.
53553         (to_hour): First arg is now long int, not int.
53554         (to_year): Returns long int, not int.
53555         Don't treat year -70 like 70.
53556         (tm_diff): Returns long int, not int.
53557         (lookup_word): Use bool instead of int when appropriate.
53558         (yylex): Use size_t for count, not int.
53559         Detect overflow when parsing large integer constants.
53560         Add support for fractions.
53561         (get_date): Make pointers 'const' if possible.
53562         Use more-portable code to detect integer overflow.
53563         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
53564         Don't use ctime; it's not reliable if the year has >4 digits.
53565
53566         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
53567         This is for compatibility with BSD.
53568
53569         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
53570         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
53571         From coreutils' system.h.
53572
53573         * lib/userspec.c: Don't include "posixver.h".
53574         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
53575         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
53576         compatible extension.  Simplify code by removing a boolean int
53577         that was always nonzero if a string was nonnull.
53578
53579 2004-03-30  Jim Meyering  <jim@meyering.net>
53580
53581         Merge from coreutils.
53582
53583         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
53584         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
53585         on some systems one must include <grp.h> before it.
53586         Reported by Christian Krackowizer.
53587
53588 2004-03-30  Jim Meyering  <jim@meyering.net>
53589
53590         Merge from coreutils.
53591
53592         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
53593
53594         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
53595         an empty input stream.
53596
53597         * lib/readtokens.c: Include <stdbool.h>.
53598         (readtoken): Use `size_t' rather than int/long.
53599         All callers adjusted.
53600         Use `bool' rather than `int' where appropriate.
53601         Use memset rather than an explicit loop.
53602         Use x2nrealloc rather than xrealloc.
53603         Allow the use of `\0' as a delimiter.
53604         (readtokens): Likewise.
53605         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
53606
53607 2004-03-30  Jim Meyering  <jim@meyering.net>
53608
53609         * m4/realloc.m4: Remove file, since now it does no more than
53610         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
53611         the `configure.ac' section of module/realloc.
53612         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
53613
53614 2004-03-30  Bruno Haible  <bruno@clisp.org>
53615
53616         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
53617         nonnull.
53618
53619 2004-03-29  Paul Eggert  <eggert@twinsun.com>
53620
53621         Merge changes to getloadavg.c from coreutils and Emacs.
53622
53623         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
53624         Define to an expression, not to the empty string.
53625         Include cloexec.h and xalloc.h.
53626         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
53627         Use set_cloexec_flag rather than rolling our own.
53628         * lib/cloexec.c, lib/cloexec.h: New files.
53629
53630 2004-03-29  Paul Eggert  <eggert@twinsun.com>
53631
53632         * m4/cloexec.m4: New file.
53633
53634 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53635
53636         * lib/getopt.h: Sync with libc CVS.
53637
53638 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53639             Bruno Haible  <bruno@clisp.org>
53640
53641         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
53642         mbswidth.
53643
53644 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53645             Bruno Haible  <bruno@clisp.org>
53646
53647         * lib/mbswidth.h: Include <wchar.h> only if
53648         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
53649         <wchar.h>.
53650         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
53651
53652 2004-03-09  Paul Eggert  <eggert@twinsun.com>
53653
53654         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
53655         Sync with libc CVS.
53656         * lib/getopt_int.h: New file, also synced from libc.
53657
53658 2004-03-09  Paul Eggert  <eggert@twinsun.com>
53659
53660         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
53661         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
53662         Bring back getopt.c, getopt.h, getopt1.c.
53663
53664 2004-03-07  Paul Eggert  <eggert@twinsun.com>
53665
53666         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
53667         All uses changed.  Check for sa_sigaction member; this fixes
53668         a bug first reported by Jason Andrade in
53669         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
53670
53671 2004-03-07  Paul Eggert  <eggert@twinsun.com>
53672
53673         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
53674         '#if' expressions.  Unlike the code it replaces, it does not
53675         depend on (defined _SC_PAGESIZE).  However, it does depend on
53676         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
53677         first reported by Jason Andrade in
53678         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
53679
53680 2004-02-25  Simon Josefsson  <jas@extundo.com>
53681
53682         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
53683
53684 2004-02-25  Simon Josefsson  <jas@extundo.com>
53685
53686         * lib/strdup.h: New file.
53687         * lib/strdup.c: Include it.
53688         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
53689         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
53690
53691 2004-02-23  Karl Berry  <karl@gnu.org>
53692
53693         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
53694         (from fencepost.gnu.org:/gd/gnuorg).
53695
53696 2004-02-23  Karl Berry  <karl@gnu.org>
53697
53698         * config/srclistvars.sh (GNUORG) [karl]: redefine.
53699         * config/srclist.txt: add maintain/standards documents.
53700
53701 2004-02-18  Bruno Haible  <bruno@clisp.org>
53702
53703         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
53704         Reported by Derek Robert Price <derek@ximbiot.com>.
53705
53706 2004-02-16  Karl Berry  <karl@gnu.org>
53707
53708         * config/mkinstalldirs, install-sh: update from automake.
53709
53710 2004-02-06  Karl Berry  <karl@gnu.org>
53711
53712         * m4/po.m4: update from gettext 0.14.1.
53713
53714 2004-02-06  Karl Berry  <karl@gnu.org>
53715
53716         * lib/config.charset: update from gettext 0.14.1.
53717
53718 2004-02-05  Paul Eggert  <eggert@twinsun.com>
53719
53720         Add comments and code, prompted by suggestions from Bruno Haible
53721         for sh-quote.
53722         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
53723         describing the enum quoting_style values.
53724         * lib/quotearg.c (quotearg_alloc): New function.
53725         (quotearg_buffer_restyled): Treat lone { and } as special.
53726         Treat = as special.  Work around bug with older shells
53727         that "see" a '\' that is really the 2nd byte of a multibyte char.
53728         Quote empty string with shell_quoting_style.
53729
53730 2004-02-03  Bruno Haible  <bruno@clisp.org>
53731
53732         * m4/pipe.m4: New file, from GNU gettext.
53733
53734 2004-02-03  Bruno Haible  <bruno@clisp.org>
53735
53736         * lib/pipe.h: New file, from GNU gettext.
53737         * lib/pipe.c: New file, from GNU gettext.
53738
53739 2004-01-27  Bruno Haible  <bruno@clisp.org>
53740
53741         * m4/execute.m4: New file, from GNU gettext.
53742
53743 2004-01-27  Bruno Haible  <bruno@clisp.org>
53744
53745         * lib/execute.h: New file, from GNU gettext.
53746         * lib/execute.c: New file, from GNU gettext.
53747         * lib/w32spawn.h: New file, from GNU gettext.
53748
53749 2004-01-24  Paul Eggert  <eggert@twinsun.com>
53750
53751         Merge from diffutils.
53752
53753         * lib/file-type.c (file_type): Add typed memory objects.
53754         * lib/file-type.h (S_TYPEISTMO): New macro.
53755
53756         * lib/c-stack.h (c_stack_action): Remove argv argument.
53757         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
53758         (die): Don't calculate message unless segv_action returns.
53759         (get_stack_location, min_address_from_argv, max_address_from_argv,
53760         volatile stack_base, volatile_stack_size): Remove.
53761         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
53762         that every segmentation violation is a stack overflow.  (Ouch!)
53763         See Debian bug 136249 (still outstanding) for more info about why
53764         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
53765
53766 2004-01-24  Paul Eggert  <eggert@twinsun.com>
53767
53768         Exit-status fix from coreutils.
53769
53770         Use exit_failure consistently in place of EXIT_FAILURE,
53771         so that program exit statuses are consistent on failure.
53772
53773         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
53774         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
53775         * lib/argmatch.h: Comment fix to match the above.
53776         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
53777         Now a macro referring to exit_failure, instead of a separate
53778         variable.  Include "exitfail.h" to get it.
53779         * lib/xstrtol.h: Include "exitfail.h".
53780         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
53781
53782         * lib/long-options.c (parse_long_options): Use prototype
53783         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
53784         for clarity.
53785
53786 2004-01-21  Jim Meyering  <jim@meyering.net>
53787
53788         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
53789         so as not to conflict with a different-sized __mktime_internal
53790         function in GNU libc.
53791         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
53792         Problem building statically-linked `ls' reported by Michael Brunnbauer.
53793
53794 2004-01-20  Karl Berry  <karl@gnu.org>
53795
53796         * config/config.guess: update from config.
53797
53798         * config/srclistvars.sh: GNUWWWLICENSES for karl.
53799
53800 2004-01-20  Bruno Haible  <bruno@clisp.org>
53801
53802         Safer stack allocation.
53803         * lib/setenv.c: Include allocsa.h.
53804         (alloca): Remove fallback definition.
53805         (freea): Remove macro.
53806         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
53807         instead of freea.
53808
53809 2004-01-20  Bruno Haible  <bruno@clisp.org>
53810
53811         * m4/eealloc.m4: New file, from GNU gettext.
53812
53813 2004-01-20  Bruno Haible  <bruno@clisp.org>
53814
53815         * m4/allocsa.m4: New file, from GNU gettext.
53816
53817 2004-01-20  Bruno Haible  <bruno@clisp.org>
53818
53819         * lib/xallocsa.h: New file, from GNU gettext.
53820         * lib/xallocsa.c: New file, from GNU gettext.
53821
53822 2004-01-20  Bruno Haible  <bruno@clisp.org>
53823
53824         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
53825
53826 2004-01-20  Bruno Haible  <bruno@clisp.org>
53827
53828         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
53829         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
53830         specially.
53831
53832 2004-01-20  Bruno Haible  <bruno@clisp.org>
53833
53834         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
53835         patch.
53836
53837 2004-01-20  Bruno Haible  <bruno@clisp.org>
53838
53839         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
53840
53841 2004-01-20  Bruno Haible  <bruno@clisp.org>
53842
53843         * lib/eealloc.h: New file.
53844
53845 2004-01-20  Bruno Haible  <bruno@clisp.org>
53846
53847         * lib/binary-io.h: Avoid warnings on Cygwin.
53848
53849 2004-01-20  Bruno Haible  <bruno@clisp.org>
53850
53851         * lib/allocsa.h: New file, from GNU gettext.
53852         * lib/allocsa.c: New file, from GNU gettext.
53853
53854 2004-01-18  Karl Berry  <karl@gnu.org>
53855
53856         * doc/gpl.texi, doc/lgpl.texi: new files.
53857
53858 2004-01-18  Karl Berry  <karl@gnu.org>
53859
53860         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
53861         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
53862
53863 2004-01-15  Paul Eggert  <eggert@twinsun.com>
53864
53865         Merge from coreutils.
53866
53867         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
53868         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
53869         (gl_DEFAULT_POSIX2_VERSION): Move
53870         the documentation from 'configure' into 'config.hin',
53871         so that 'configure --help' isn't burdened by it and
53872         we don't have to worry about its formatting there.
53873         Reword the documentation so that it's more succinct
53874         and can be run together into a single paragraph.
53875         * m4/same.m4 (gl_SAME): Check for pathconf.
53876
53877 2004-01-15  Paul Eggert  <eggert@twinsun.com>
53878
53879         Merge from coreutils.
53880
53881         * lib/posixver.c: Include posixver.h.
53882
53883         * lib/same.c: Include <stdbool.h>, <limits.h>.
53884         (_POSIX_NAME_MAX): Define if not defined.
53885         (MIN): New macro.
53886         (same_name): If file names are silently truncated, report
53887         that the file names are the same if they are the same after
53888         the silent truncation.
53889
53890         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
53891         conversion function.
53892         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
53893         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
53894         longer needed.
53895
53896 2004-01-15  Jim Meyering  <jim@meyering.net>
53897
53898         Merge from coreutils.
53899
53900         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
53901         if no library is required.
53902         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
53903         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
53904         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
53905         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
53906         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
53907         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
53908         value, $ac_cv_search_crypt, if it's "none required".
53909         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
53910         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
53911         not gl_FUNC_GETLOADAVG.
53912         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
53913         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
53914
53915 2004-01-15  Jim Meyering  <jim@meyering.net>
53916
53917         Merge from coreutils.
53918
53919         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
53920         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
53921         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
53922
53923         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
53924         optional configure-time default.
53925
53926         * lib/version-etc.c (version_etc_copyright): Update copyright date.
53927
53928         * lib/xreadlink.c (xreadlink): Correct outdated comment.
53929
53930 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
53931
53932         Merge from coreutils.
53933
53934         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
53935         value, $ac_cv_search_nanosleep, if it's "none required".
53936
53937 2004-01-14  Paul Eggert  <eggert@twinsun.com>
53938
53939         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
53940         with like-named macro in fnmatch.c.
53941         (EXT): Use an internal constant instead.
53942
53943         Merge fnmatch patches from glibc.
53944         * lib/fnmatch.c (mbsinit): Remove define.
53945         Add libc_hidden_ver (__fnmatch, fnmatch).
53946         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
53947         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
53948
53949 2004-01-14  Karl Berry  <karl@gnu.org>
53950
53951         * config/install-sh: update from automake.
53952
53953 2004-01-13  Karl Berry  <karl@gnu.org>
53954
53955         * config/install-sh: update from automake.
53956
53957 2004-01-09  Karl Berry  <karl@gnu.org>
53958
53959         * config/install-sh: update from automake.
53960
53961 2004-01-05  Karl Berry  <karl@gnu.org>
53962
53963         * config/config.{sub,guess}: update from config.
53964
53965 2003-12-31  Karl Berry  <karl@gnu.org>
53966
53967         * config/depcomp: update from automake.
53968
53969 2003-12-14  Karl Berry  <karl@gnu.org>
53970
53971         * lib/config.charset: update from gettext-runtime.
53972
53973 2003-12-03  Paul Eggert  <eggert@twinsun.com>
53974
53975         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
53976         Bug reported by Alfred M. Szmidt.
53977
53978 2003-12-03  Bruno Haible  <bruno@clisp.org>
53979
53980         * m4/gettext.m4: Upgrade from gettext-0.13.
53981         * m4/po.m4: Upgrade from gettext-0.13.
53982         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
53983         * m4/intmax.m4: New file, from gettext-0.13.
53984         * m4/printf-posix.m4: New file, from gettext-0.13.
53985
53986 2003-11-29  Karl Berry  <karl@gnu.org>
53987
53988         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
53989
53990 2003-11-25  Paul Eggert  <eggert@twinsun.com>
53991             Bruno Haible  <bruno@clisp.org>
53992
53993         * lib/printf-parse.h: Don't include sys/types.h.
53994         (ARG_NONE): New macro.
53995         (char_directive): Change type of *arg_index fields to size_t.
53996         * lib/printf-parse.c: Don't include sys/types.h.
53997         (SSIZE_MAX): Remove macro.
53998         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
53999         Remove unnecessary overflow check.
54000         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
54001         fields.
54002
54003 2003-11-25  Bruno Haible  <bruno@clisp.org>
54004
54005         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
54006
54007 2003-11-25  Bruno Haible  <bruno@clisp.org>
54008
54009         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
54010         gt_TYPE_SSIZE_T.
54011
54012 2003-11-24  Paul Eggert  <eggert@twinsun.com>
54013
54014         * modules/alloca: Remove dependency on xalloc.
54015
54016 2003-11-24  Paul Eggert  <eggert@twinsun.com>
54017
54018         * lib/alloca.c: Remove dependency on xalloc module.
54019         (xalloc_die): Remove.
54020         (memory_full) [!defined emacs]: New macro.
54021         [!defined emacs]: Don't include xalloc.h.
54022         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
54023         address arithmetic overflows.  Change datatypes a bit to avoid
54024         unnecessary casts.
54025
54026 2003-11-22  Jim Meyering  <jim@meyering.net>
54027
54028         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
54029         s/size/size_t/.
54030
54031 2003-11-21  Karl Berry  <karl@gnu.org>
54032
54033         * config/config.{sub,guess}: update from config.
54034
54035 2003-11-18  Karl Berry  <karl@gnu.org>
54036
54037         * config/config.{sub,guess}: update from config.
54038
54039         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
54040
54041 2003-11-17  Paul Eggert  <eggert@twinsun.com>
54042
54043         * README: Mention that S+T cannot overflow if S is the size of
54044         an existing object and T is sufficiently small.
54045
54046 2003-11-17  Jim Meyering  <jim@meyering.net>
54047
54048         On systems without utime and without a utimes function capable of
54049         dealing with a NULL struct utimbuf* argument, this utime replacement
54050         could -- in unusual circumstances -- leak a file descriptor.
54051         * lib/utime.c: Include <unistd.h> and <errno.h>.
54052         (utime_null): Be sure to close `fd' and to preserve errno.
54053         Reported by Geoff Collyer via Arnold Robbins.
54054
54055 2003-11-17  Bruno Haible  <bruno@clisp.org>
54056
54057         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
54058         (Depends-on): Add xsize.
54059
54060 2003-11-17  Bruno Haible  <bruno@clisp.org>
54061
54062         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
54063
54064 2003-11-17  Bruno Haible  <bruno@clisp.org>
54065
54066         * lib/vasnprintf.c (alloca): Remove fallback definition.
54067         (freea): Remove definition.
54068         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
54069         Reported by Paul Eggert.
54070
54071 2003-11-16  Paul Eggert  <eggert@twinsun.com>
54072             Bruno Haible  <bruno@clisp.org>
54073
54074         Protect against address arithmetic overflow.
54075         * lib/printf-args.h: Include stddef.h.
54076         (arguments): Change type of field 'count' to size_t.
54077         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
54078         'unsigned int' where appropriate.
54079         * lib/printf-parse.h: Include sys/types.h.
54080         (char_directive): Change type of *arg_index fields to ssize_t.
54081         (char_directives): Change type of fields 'count', max_*_length to
54082         size_t.
54083         * lib/printf-parse.c: Include sys/types.h and xsize.h.
54084         (SSIZE_MAX): Define fallback value.
54085         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
54086         instead of 'int' where appropriate. Check a_allocated, d_allocated
54087         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
54088         * lib/vasnprintf.c: Include xsize.h.
54089         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
54090         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
54091         overflow. Avoid wraparound when converting a width or precision from
54092         decimal to binary.
54093
54094 2003-11-16  Bruno Haible  <bruno@clisp.org>
54095
54096         Update from GNU gettext.
54097         * lib/printf-parse.c: Generalize to it can be compiled for wide
54098         strings.
54099         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
54100         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
54101         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
54102         SNPRINTF): New macros.
54103         Don't include <alloca.h> if the file is used inside libintl.
54104         (local_wcslen): New function, for Solaris 2.5.1.
54105         (VASNPRINTF): Use it instead of wcslen.
54106
54107 2003-11-16  Bruno Haible  <bruno@clisp.org>
54108
54109         * lib/xsize.h (xmax): New function.
54110         (xsum, xsum3, xsum4): Declare as "pure" functions.
54111
54112 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54113
54114         * modules/xalloc (Files): Undo latest change, since xalloc.h
54115         no longer needs SIZE_MAX or PTRDIFF_MAX.
54116
54117 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54118
54119         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
54120         gl_PTRDIFF_MAX.
54121
54122 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54123
54124         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
54125         "return", to pacify some unknown compiler.  Problem reported
54126         by Joerg Schilling.
54127
54128 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54129
54130         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
54131         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
54132         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
54133         heuristic is just as accurate as far as we know, and it removes a
54134         dependency on size_max.m4 and ptrdiff_max.m4.
54135
54136 2003-11-11  Bruno Haible  <bruno@clisp.org>
54137
54138         * modules/xsize (Files): Add m4/size_max.m4.
54139         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
54140
54141 2003-11-11  Bruno Haible  <bruno@clisp.org>
54142
54143         * m4/size_max.m4: New file.
54144         * m4/ptrdiff_max.m4: New file.
54145         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
54146         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
54147         (gl_XALLOC): Invoke it.
54148
54149 2003-11-11  Bruno Haible  <bruno@clisp.org>
54150
54151         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
54152         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
54153         defined.
54154
54155 2003-11-10  Paul Eggert  <eggert@twinsun.com>
54156
54157         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
54158         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
54159         rejected some allocations of exactly SIZE_MAX - 2 bytes.
54160         From Bruno Haible.
54161         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
54162         not (size_t) -1, since it's defined here.
54163
54164 2003-11-09  Karl Berry  <karl@gnu.org>
54165
54166         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
54167
54168 2003-11-06  Paul Eggert  <eggert@twinsun.com>
54169
54170         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
54171         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
54172         Reject sizes of exactly SIZE_MAX bytes.
54173         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
54174         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
54175
54176 2003-11-05  Bruno Haible  <bruno@clisp.org>
54177
54178         * lib/xsize.h: Include limits.h, to avoid a possible collision with
54179         SIZE_MAX defined in <limits.h> on Solaris.
54180
54181 2003-11-04  Jim Meyering  <jim@meyering.net>
54182
54183         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
54184         variable names, rather than @VAR@.
54185         * modules/poll: Likewise.
54186
54187 2003-11-04  Bruno Haible  <bruno@clisp.org>
54188
54189         * modules/xsize: New file.
54190         * modules/linebreak: Depend on xsize.
54191         * MODULES.html.sh (func_all_modules): Add xsize.
54192
54193 2003-11-04  Bruno Haible  <bruno@clisp.org>
54194
54195         * m4/xsize.m4: New file.
54196
54197 2003-11-04  Bruno Haible  <bruno@clisp.org>
54198
54199         * lib/xsize.h: New file.
54200         * lib/linebreak.c: Include xsize.h.
54201         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
54202         argument for overflow.
54203         Suggested by Paul Eggert.
54204
54205 2003-11-03  Karl Berry  <karl@gnu.org>
54206
54207         * config/config.{guess,sub}: update from config.
54208
54209 2003-11-03  Jim Meyering  <jim@meyering.net>
54210
54211         * modules/userspec (lib_SOURCES): Add userspec.h.
54212         (Include): Add "userspec.h".
54213         Improve description.
54214
54215 2003-11-03  Jim Meyering  <jim@meyering.net>
54216
54217         * lib/userspec.c: Include "userspec.h".
54218         * lib/userspec.h: New file.
54219
54220 2003-11-03  Bruno Haible  <bruno@clisp.org>
54221
54222         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
54223
54224 2003-11-03  Bruno Haible  <bruno@clisp.org>
54225
54226         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
54227         available, to avoid (extremely rare) race condition.
54228         Suggested by Paul Eggert.
54229
54230 2003-11-02  Karl Berry  <karl@gnu.org>
54231
54232         * config/srclist.txt (vasprintf.c): sync broken, sigh.
54233
54234 2003-10-31  Paul Eggert  <eggert@twinsun.com>
54235
54236         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
54237         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
54238         (read_filesystem_list): Set and use me_type_malloced.
54239         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
54240         whatever the type happens to be), for brevity and consistency.
54241         Check for size calculation overflow on Alphas running OSF/1.
54242
54243 2003-10-31  Jim Meyering  <jim@meyering.net>
54244
54245         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
54246
54247         * lib/linebuffer.c: Include <string.h> for declaration of memset.
54248
54249 2003-10-30  Paul Eggert  <eggert@twinsun.com>
54250             Bruno Haible  <bruno@clisp.org>
54251
54252         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
54253         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
54254
54255 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
54256
54257         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
54258         netbsd*-gnu*.  Suggested by Robert Millan.
54259
54260 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54261
54262         * modules/group-member: Depend on stdbool.
54263
54264 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54265
54266         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
54267
54268 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54269
54270         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
54271         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
54272         after the 'gnu' in these cases.  This fixes some bugs in the
54273         previous change, and is based on suggestions by Robert Millan.
54274
54275 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54276
54277         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
54278         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
54279         no longer needed.
54280         * lib/quotearg.c (quotearg_n_options): Use it.
54281         * lib/group-member.c: Include <stdbool.h>.
54282         (free_group_info): Arg is now const *; don't free arg.
54283         (get_group_info): Now returns bool and accepts struct group_info *,
54284         rather than returning a malloc'ed struct group_info *.
54285         All uses changed.  Check for overflow in internal size calculation.
54286
54287         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
54288         rather than xmalloc/xrealloc.
54289         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
54290         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
54291         conformance bug: the old code used a pointer after freeing the
54292         storage that it addressed.
54293         * lib/hash.c (hash_initialize): Simplify the code by using
54294         xalloc_oversized rather than doing it by hand.
54295         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
54296         the buffer preserved.  Use free and xmalloc instead.
54297         * lib/quotearg.c (quotearg_n_options): Likewise.
54298         Use a simpler test for size overflow.  Don't use xalloc_oversized
54299         because unsigned int might be wider than size_t (!); this suggests
54300         that we should switch from unsigned int to size_t for slot numbers.
54301
54302 2003-10-28  Paul Eggert  <eggert@twinsun.com>
54303
54304         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
54305         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
54306         NetBSD kernels.  Requested by Richard Stallman.
54307
54308 2003-10-27  Paul Eggert  <eggert@twinsun.com>
54309
54310         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
54311         to allocate the returned structure.  Do not allocate a subarray,
54312         as x2nrealloc will do that.
54313         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
54314         instead of xnrealloc.
54315         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
54316
54317 2003-10-27  Bruno Haible  <bruno@clisp.org>
54318
54319         * lib/stdbool_.h: Better support for BeOS.
54320
54321 2003-10-26  Paul Eggert  <eggert@twinsun.com>
54322
54323         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
54324         now uses inline.
54325
54326 2003-10-26  Paul Eggert  <eggert@twinsun.com>
54327
54328         * lib/xalloc.h (xalloc_oversized): New static inline function, for
54329         callers that want to do their own size-overflow checking.  Include
54330         <stdbool.h>, since xalloc_oversized returns bool.
54331         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
54332         to use xalloc_oversized.
54333
54334         Add two functions x2realloc, x2nrealloc, for programs that grow
54335         arrays dynamically by doubling their sizes.
54336         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
54337         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
54338         New functions.
54339
54340         Port to C99 semantics for 'inline' of external functions.
54341         Bug reported by Bruno Haible.
54342         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
54343         with the old contents of xnmalloc.
54344         (xnmalloc, xmalloc): Use it.
54345         (xnrealloc_inline): New static inline function,
54346         with the old contents of xnrealloc.
54347         (xnrealloc, xrealloc): Use it.
54348
54349         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
54350         that.
54351
54352 2003-10-26  Karl Berry  <karl@gnu.org>
54353
54354         * config/srclist.txt (COPYING.DOC): no longer available from
54355         /gd/gnuorg; don't know where the ultimate source is.
54356
54357 2003-10-25  Paul Eggert  <eggert@twinsun.com>
54358
54359         Fix several address-calculation bugs in the hash modules,
54360         plus some minor code cleanup.
54361
54362         * lib/hash.h: Include <stdbool.h>, for bool.
54363         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
54364         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
54365         hash_get_n_entries, hash_get_max_bucket_length,
54366         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
54367         hash_rehash): Use size_t rather than unsigned.
54368         * lib/hash.c (struct hash_table, hash_get_n_buckets,
54369         hash_get_n_buckets_used, hash_get_n_entries,
54370         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
54371         hash_get_entries, hash_do_for_each, hash_string, is_prime,
54372         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
54373         Likewise.
54374         (SIZE_MAX): Define if not defined.
54375         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
54376         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
54377         hash_print):
54378         Use const * when possible.
54379         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
54380         (check_tuning): Fix bug: if tuning parameters were very close to
54381         0 or 1, rounding errors could have caused subscript violations.
54382         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
54383         (hash_initialize): Add 'fail:' label
54384         to free table and return NULL, and use it to simplify code.
54385         Use calloc rather than clearing the storage ourself.
54386         (hash_initialize, hash_rehash): Check for arithmetic overflow in
54387         buffer size calculations.
54388         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
54389         Include <stddef.h>, for size_t.
54390         * lib/hash-pjw.c (hash_pjw): Likewise.
54391         Switch to method described by Bruno Haible.
54392         Include <limits.h>, for CHAR_BIT.
54393         (SIZE_BITS): New macro.
54394
54395 2003-10-23  Paul Eggert  <eggert@twinsun.com>
54396
54397         * m4/getline.m4 (AM_FUNC_GETLINE):
54398         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
54399         hosts.  Problem reported by Derek Robert Price in
54400         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
54401         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
54402         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
54403
54404 2003-10-21  Paul Eggert  <eggert@twinsun.com>
54405
54406         * lib/getndelim2.c (getndelim2): When size calculation overflows,
54407         ceiling the allocation at NMAX bytes rather than silently
54408         discarding input bytes before NMAX is reached.  This makes
54409         a difference only if NMAX exceeds SIZE_MAX / 2.
54410
54411         * lib/obstack.c: Merge from glibc.
54412         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
54413         Add libc_hidden_def (_obstack_newchunk).
54414         (_obstack_free) [! defined _LIBC]: Remove.
54415         [defined _LIBC]: Make a strong alias from obstack_free, rather than
54416         a clone of the function body.
54417         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
54418         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
54419
54420         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
54421         glibc.
54422         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
54423         arg to memcpy.
54424
54425         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
54426         (obstack_ptr_grow_fast, obstack_int_grow_fast):
54427         Don't use lvalue casts, as GCC plans to remove support for them
54428         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
54429         was also present in the non-GCC version, indicating that this
54430         code had always been buggy and had never been widely used.
54431         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
54432         Use the fast variant of each macro, rather than copying the
54433         definiens of the fast variant; that way, we'll be more likely to
54434         catch future bugs in the fast variants.
54435
54436 2003-10-20  Bruno Haible  <bruno@clisp.org>
54437
54438         * modules/wait-process: New file.
54439         * MODULES.html.sh (func_all_modules): Add wait-process.
54440
54441 2003-10-20  Bruno Haible  <bruno@clisp.org>
54442
54443         * m4/wait-process.m4: New file.
54444
54445 2003-10-20  Bruno Haible  <bruno@clisp.org>
54446
54447         * lib/wait-process.h: New file, from GNU gettext.
54448         * lib/wait-process.c: New file, from GNU gettext.
54449
54450 2003-10-19  Jim Meyering  <jim@meyering.net>
54451
54452         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
54453         HPUX 10.20.
54454
54455 2003-10-18  Karl Berry  <karl@gnu.org>
54456
54457         * config/config.guess: update from config.
54458
54459 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54460
54461         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
54462         (getgroups): First arg is int, not size_t.
54463         Don't let 'free' mangle errno.
54464
54465 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54466
54467         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
54468
54469 2003-10-16  Karl Berry  <karl@gnu.org>
54470
54471         * config/config.{guess,sub}: update from config.
54472
54473 2003-10-16  Jim Meyering  <jim@meyering.net>
54474
54475         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
54476         memcpy.
54477
54478 2003-10-15  Paul Eggert  <eggert@twinsun.com>
54479
54480         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
54481         (SIZE_MAX): Remove.
54482         (new_exclude, add_exclude_file): Initial size no longer needs to
54483         be a power of 2.
54484         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
54485         our own address arithmetic overflow checking.
54486
54487         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
54488         (fnmatch): Do not alloca more than 2000 wide characters;
54489         instead, use malloc for large buffers.
54490         Check for address arithmetic overflow, and return -1
54491         with errno set to ENOMEM in that case.
54492         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
54493         (NEW_PATTERN): Do not alloca more than 8000 bytes;
54494         instead, return -1.  Check for address arithmetic overflow.
54495
54496 2003-10-14  Paul Eggert  <eggert@twinsun.com>
54497
54498         Handle invalid suffixes and overflow independently, so that
54499         callers can treat them independently as needed.  Fix some bugs in
54500         suffix handling, e.g., "100k@" was not diagnosed as an invalid
54501         suffix for a human-readable blocksize.  The major caller-visible
54502         change is the addition of a new
54503         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
54504         that both overflow and suffix chars were found.
54505
54506         * lib/human.c (humblock): Don't check separately for invalid suffix
54507         char; that is xstrtoumax's job (now that its bug is fixed).
54508         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
54509         INTMAX_MAX]: New macros.
54510         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
54511         TYPE_MAXIMUM): New macros.
54512         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
54513         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
54514         if overflow occurs, as it's what __strtol does and it's more useful
54515         in practice.
54516         (__xstrtol): If __strtol reports some error other than ERANGE,
54517         reflect it to the caller as LONGINT_INVALID.  If it reports
54518         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
54519         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
54520         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
54521         value.
54522         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
54523         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
54524         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
54525         [defined UINTMAX_MAX]: New macros.
54526
54527 2003-10-14  Bruno Haible  <bruno@clisp.org>
54528
54529         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
54530
54531 2003-10-14  Bruno Haible  <bruno@clisp.org>
54532
54533         * m4/sig_atomic_t: New file, from GNU gettext.
54534         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
54535
54536 2003-10-14  Bruno Haible  <bruno@clisp.org>
54537
54538         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
54539         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
54540         Also use volatile where needed.
54541
54542 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54543
54544         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
54545         Change maintainer from Bruno Haible to 'all'.
54546
54547 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54548
54549         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
54550
54551 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54552
54553         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
54554         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
54555         and define in terms of the other primitives.
54556         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
54557         (SIZE_MAX): Define if not already defined.
54558         (array_size_overflow): New function.
54559         (xalloc_die): Abort instead of exiting if 'error' returns.
54560         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
54561         (xmalloc, xrealloc): Use them.
54562         (xcalloc): Check for address arithmetic overflow.
54563         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
54564         a bit faster than strcpy.
54565
54566 2003-10-10  Simon Josefsson  <jas@extundo.com>
54567
54568         * modules/argp (Depends-on): Add restrict and strcase.
54569
54570 2003-10-10  Simon Josefsson  <jas@extundo.com>
54571
54572         * m4/argp.m4: Add AC_C_INLINE.
54573
54574 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54575
54576         Merge getpass from libc, plus a few fixes.
54577
54578         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
54579         Include <stdbool.h>.
54580         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
54581         __fsetlocking to empty.
54582         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
54583         do include <bits/libc-lock.h>.
54584         Do not include <fcntl.h>; not needed.
54585         [_LIBC]: Include <wchar.h>.
54586         (NOTCANCEL_MODE): New macro.
54587         (flockfile, funlockfile) [_LIBC]: New macros.
54588         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
54589         [!_LIBC]: New macros.
54590         (call_fclose): New function.
54591         (getpass): Use it.  Save tty stream separately; this simplifies the
54592         code and makes it more reliable if stdin happens to equal stdout.
54593         Invoke __fsetlocking on tty.
54594         Handle thread cancellation if needed.
54595         Namespace cleanup (use __tcgetattr, __getline).
54596         Use bool for Booleans.
54597         [USE_IN_LIBIO]: Handle wide streams.
54598         [!_LIBC]: Unconditionally do the fseek, since we don't know what
54599         stream might go where.
54600
54601         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
54602         doesn't have to include <stdio.h> before us.
54603         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
54604         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
54605         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
54606         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
54607         if not declared, so that we can use getpass.c code from libc without
54608         rewriting it.
54609         (flockfile, ftrylockfile, funlockfile): New macros.
54610
54611 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54612
54613         * modules/getpass: Depend on stdbool.
54614
54615 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54616
54617         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
54618
54619 2003-10-07  Karl Berry  <karl@gnu.org>
54620
54621         * config/config.{guess,sub}: update from config.
54622
54623 2003-10-06  Jim Meyering  <jim@meyering.net>
54624             Bruno Haible  <bruno@clisp.org>
54625
54626         This lets translators provide better translations for the
54627         "Written by ..." part of --version output.
54628         * lib/version-etc.h: Include stdarg.h.
54629         (version_etc_copyright): Declare as readonly.
54630         (version_etc): Make this function variadic with a NULL-terminated list
54631         of author name strings.
54632         (version_etc_va): New declaration.
54633         * lib/version-etc.c: Include stdarg.h, stdlib.h.
54634         (version_etc_copyright): Declare as readonly.
54635         (version_etc_va): New function. Provide a different translatable string
54636         for each possible number of authors < 10. Abbreviate when there are 10
54637         authors or more.
54638         (version_etc): Make this function variadic. Call version_etc_va.
54639         Suggestion from Gary V. Vaughan.
54640
54641         * lib/long-options.h (parse_long_options): Change prototype: the
54642         authors string is moved to the end and becomes variadic.
54643         * lib/long-options.c: Include stdarg.h.
54644         (parse_long_options): Make this function variadic, too.
54645         Call version_etc_va, not version_etc.
54646
54647 2003-10-06  Bruno Haible  <bruno@clisp.org>
54648
54649         * modules/version-etc-2: Remove file.
54650         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
54651
54652 2003-10-06  Bruno Haible  <bruno@clisp.org>
54653
54654         * modules/fatal-signal: New file.
54655         * MODULES.html.sh (func_all_modules): Add fatal-signal.
54656
54657 2003-10-06  Bruno Haible  <bruno@clisp.org>
54658
54659         * m4/fatal-signal.m4: New file.
54660         * m4/signalblocking.m4: New file, from GNU gettext.
54661
54662 2003-10-06  Bruno Haible  <bruno@clisp.org>
54663
54664         * lib/version-etc-2.h: Remove file.
54665         * lib/version-etc-2.c: Remove file.
54666
54667 2003-10-06  Bruno Haible  <bruno@clisp.org>
54668
54669         * lib/fatal-signal.h: New file, from GNU gettext.
54670         * lib/fatal-signal.c: New file, from GNU gettext.
54671
54672 2003-10-05  Paul Eggert  <eggert@twinsun.com>
54673
54674         * README: Rework advice for preventing empty .o files.
54675         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
54676         not <sys/types.h>.
54677
54678 2003-10-04  Karl Berry  <karl@gnu.org>
54679
54680         * lib/argp*: update from libc.
54681
54682 2003-10-04  Karl Berry  <karl@gnu.org>
54683
54684         * config/config.{guess,sub}: update from config.
54685
54686 2003-10-02  Bruno Haible  <bruno@clisp.org>
54687
54688         * modules/lchown (Include): Add lchown.h.
54689         * modules/time_r (Include): Use "..." syntax.
54690         * modules/xgetdomainname (Include): Add xgetdomainname.h.
54691
54692 2003-10-01  Simon Josefsson  <jas@extundo.com>
54693
54694         * MODULES.html.sh (func_all_modules): Move gethostname from section
54695         'based on' to section 'lacking' POSIX:2001.
54696
54697 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
54698
54699         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
54700         to output mode on the same stream.
54701
54702 2003-09-29  Paul Eggert  <eggert@twinsun.com>
54703
54704         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
54705         Fix arg typo in previous patch.
54706
54707 2003-09-28  Jim Meyering  <jim@meyering.net>
54708
54709         * lib/error.c: Correct cpp indentation.
54710
54711 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54712
54713         * modules/free: New file.
54714
54715 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54716
54717         * m4/free.m4: New file.
54718
54719 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54720
54721         * lib/minmax.h (MIN, MAX)
54722         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
54723         Omit the special code that used __typeof__, since we worry that
54724         it could be more trouble than it's worth.  See:
54725         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
54726         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
54727
54728         * lib/free.c: New file.
54729
54730 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
54731
54732         Trivial fixes to Makefile.am parts of module listings.
54733         * modules/strstr: Append strstr.h to lib_SOURCES.
54734         * modules/strcase: Likewise, for strcase.h.
54735
54736 2003-09-27  Karl Berry  <karl@gnu.org>
54737
54738         * config/mkinstalldirs: update from automake.
54739
54740 2003-09-26  Paul Eggert  <eggert@twinsun.com>
54741
54742         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
54743         (error_tail): Do not loop, reallocating temporary buffer, since
54744         the output cannot contain more wide characters than the input
54745         contains bytes, the size must be big enough already.  This avoids
54746         one potential size overflow calculation.  Check for size overflow
54747         when calculating temporary buffer size.  Free temporary buffer
54748         when done, if it was allocated with malloc; this plugs a memory
54749         leak.  Remove casts from void * to pointers, that are no longer
54750         needed now that we're assuming C89 or better.
54751
54752         Merge error changes from glibc.
54753
54754         * lib/error.c, error.h: Update copyright notice header to match glibc.
54755         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
54756         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
54757         Disable cancellation while printing error.
54758         * lib/error.h: Prepend __ to parameter names.
54759
54760 2003-09-26  Jim Meyering  <jim@meyering.net>
54761
54762         * lib/error.c (error_tail): Move some declarations
54763         into inner scope where the local variables are used.
54764
54765 2003-09-26  Bruno Haible  <bruno@clisp.org>
54766
54767         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
54768         stpncpy().
54769         Don't define stpncpy through config.h; it's now done through stpncpy.h.
54770
54771 2003-09-26  Bruno Haible  <bruno@clisp.org>
54772
54773         * lib/stpncpy.h (gnu_stpncpy): New declaration.
54774         (stpncpy): Define as alias for gnu_stpncpy.
54775         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
54776
54777 2003-09-25  Simon Josefsson  <jas@extundo.com>
54778
54779         * lib/xgetdomainname.h: New file.
54780         * lib/xgetdomainname.c: New file.
54781
54782 2003-09-25  Simon Josefsson  <jas@extundo.com>
54783             Bruno Haible  <bruno@clisp.org>
54784
54785         * modules/getdomainname: New file.
54786         * modules/xgetdomainname: New file.
54787         * MODULES.html.sh (func_all_modules): Add getdomainname,
54788         xgetdomainname.
54789
54790 2003-09-25  Simon Josefsson  <jas@extundo.com>
54791             Bruno Haible  <bruno@clisp.org>
54792
54793         * m4/getdomainname.m4: New file.
54794
54795 2003-09-25  Simon Josefsson  <jas@extundo.com>
54796             Bruno Haible  <bruno@clisp.org>
54797
54798         * lib/getdomainname.h: New file.
54799         * lib/getdomainname.c: New file.
54800
54801 2003-09-25  Karl Berry  <karl@gnu.org>
54802
54803         * lib/argp-fmtstream.c, argp-help.c: update from libc.
54804
54805 2003-09-25  Karl Berry  <karl@gnu.org>
54806
54807         * config/install-sh: update from automake.
54808
54809 2003-09-25  Bruno Haible  <bruno@clisp.org>
54810
54811         * modules/version-etc-2: New file, from modules/version-etc with
54812         modifications.
54813         * MODULES.html.sh (func_all_modules): Add version-etc-2.
54814
54815 2003-09-25  Bruno Haible  <bruno@clisp.org>
54816
54817         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
54818         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
54819
54820 2003-09-24  Simon Josefsson  <jas@extundo.com>
54821
54822         * modules/xgethostname: Add xgethostname.h.
54823
54824 2003-09-24  Paul Eggert  <eggert@twinsun.com>
54825
54826         * lib/linebuffer.c (freebuffer): Don't free the argument, just
54827         the buffer associated with the argument.  Bug reported by
54828         Simon Josefsson.
54829
54830 2003-09-24  Paul Eggert  <eggert@twinsun.com>
54831
54832         * README: Document assumptions that 'int' is at least 32 bits
54833         wide, that integer arithmetic is 2's complement without overflow,
54834         that there are no holes in integer values, that adding sizes of
54835         two nonoverlapping objects can't overflow, and that all-bits-zero
54836         yields scalar zero.  Fix spelling and capitalization typos.
54837
54838 2003-09-19  Karl Berry  <karl@gnu.org>
54839
54840         * lib/argp.h: update from libc.
54841
54842 2003-09-17  Paul Eggert  <eggert@twinsun.com>
54843
54844         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
54845         to avoid spurious warnings like "AC_RUN_IFELSE was called before
54846         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
54847
54848 2003-09-17  Paul Eggert  <eggert@twinsun.com>
54849
54850         * gnulib-tool: Use "test -h", not "test -L", for portability
54851         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
54852         (tags_regexp): Remove, since \| doesn't conform to POSIX.
54853         (sed_extract_prog): Issue s commands one-by-one, rather than
54854         using \| in one s command.
54855
54856 2003-09-16  Paul Eggert  <eggert@twinsun.com>
54857
54858         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
54859         input error, instead of returning NULL the next time we are called
54860         (and therefore losing track of errno).
54861
54862 2003-09-16  Bruno Haible  <bruno@clisp.org>
54863
54864         * gnulib-tool (func_create_testdir): Warn about duplicated
54865         dependencies.
54866
54867 2003-09-15  Paul Eggert  <eggert@twinsun.com>
54868
54869         * modules/argmatch, modules/fatal, modules/obstack,
54870         modules/xalloc, modules/xgethostname: Sort dependencies by
54871         importance, not alphabetically.
54872
54873 2003-09-15  Paul Eggert  <eggert@twinsun.com>
54874
54875         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
54876         fails, so that the caller gets the proper errno.
54877
54878         * lib/readutmp.c (read_utmp): Likewise.
54879         Check for fstat error.  Close stream and free storage
54880         when failing.
54881
54882 2003-09-14  Karl Berry  <karl@gnu.org>
54883
54884         * config/srclist.txt (strdup.c): disable for c89 changes.
54885
54886 2003-09-14  Jim Meyering  <jim@meyering.net>
54887
54888         * lib/getloadavg.c: Correct cpp indentation.
54889         * lib/strdup.c: Likewise.
54890         * lib/vasnprintf.c: Likewise.
54891
54892 2003-09-14  Bruno Haible  <bruno@clisp.org>
54893
54894         * modules/fwriteerror: New file.
54895         * MODULES.html.sh (func_all_modules): Add fwriteerror.
54896
54897 2003-09-14  Bruno Haible  <bruno@clisp.org>
54898
54899         * lib/fwriteerror.h: New file.
54900         * lib/fwriteerror.c: New file.
54901
54902 2003-09-12  Paul Eggert  <eggert@twinsun.com>
54903
54904         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
54905         modules/xgethostname, modules/xalloc: Depend on exit.
54906
54907 2003-09-12  Paul Eggert  <eggert@twinsun.com>
54908
54909         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
54910
54911         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
54912         and AC_MINIX, too, so that their extensions are available.
54913
54914         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
54915         This macro has been superseded by gl_BACKUPFILE.
54916
54917         More patches to assume C89 or better.
54918
54919         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
54920
54921         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
54922         unconditionally.
54923         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
54924         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
54925         Include <string.h>, <stdlib.h> unconditionally.
54926         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
54927         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
54928         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
54929         headers or for string.h.
54930         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
54931         or strtoul.
54932
54933         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
54934         headers.
54935         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
54936         * m4/userspec.m4 (gl_USERSPEC): Likewise.
54937         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
54938         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
54939         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
54940         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
54941         memcpy, memset.
54942         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
54943         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
54944         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
54945         strtol.
54946         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
54947         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
54948         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
54949         strtoul.
54950
54951 2003-09-12  Paul Eggert  <eggert@twinsun.com>
54952
54953         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
54954         * lib/obstack.c [!defined _LIBC]: Likewise.
54955         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
54956         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
54957         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
54958
54959         More changes to assume C89 or better.
54960
54961         * lib/error.c (error_tail): Assume vprintf.
54962
54963         * lib/argmatch.c (getenv): Remove decl.
54964         * lib/progreloc.c (get_full_program_name): Define via prototype.
54965         * lib/setenv.c (clearenv): Likewise.
54966         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
54967         needed.
54968         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
54969         (malloc, memcpy): Remove decls.
54970         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
54971         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
54972         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
54973         (memcpy): Remove macro.
54974         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
54975         (__P): Remove.  All uses removed.
54976         (PTR): Remove.  All uses changed to void *.
54977         (CHAR_BIT, NULL): Remove.
54978         (spaces, zeros, memset_space, memset_zero)
54979         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
54980         Remove.
54981         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
54982         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
54983         Define with prototype.
54984         Remove now-unnecessary prototype decl.
54985         (extra_args_spec): Assume ANSI C.  All uses changed.
54986         (extra_args_spec_iso): Remove.
54987         (my_strftime, emacs_strftimeu): Define via prototype.
54988         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
54989         unconditionally.
54990         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
54991         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
54992         (strtoul, strtol): Remove decls.
54993         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
54994         LONG_MAX): Remove.
54995         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
54996         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
54997         (LOCALE_PARAM_PROTO): New macro.
54998         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
54999         (INTERNAL (strtol), strtol): Define with a prototype.
55000         (PARAMS): Remove.  All uses removed.
55001         * lib/tempname.c: Include <string.h> unconditionally.
55002         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
55003         * lib/xgethostname.c (main): Define with a prototype.
55004         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
55005         Include <stdlib.h> unconditionally.
55006         (calloc, malloc, realloc, free): Remove decls.
55007         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
55008         Include <stdlib.h> unconditionally.  Sort include file names.
55009         (strtod): Remove.
55010         (xstrtod): Define with a prototype.
55011         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
55012         (strtol, strtoul): Remove decls.
55013
55014 2003-09-11  Paul Eggert  <eggert@twinsun.com>
55015
55016         More patches to assume C89 or better.
55017         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
55018         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
55019         string.h, memchr, STDC_HEADERS.
55020
55021 2003-09-11  Paul Eggert  <eggert@twinsun.com>
55022
55023         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
55024         Include <stdlib.h>, <string.h> unconditionally.
55025         Remove now-unnecessary cast to char *.
55026         * lib/strnlen.c: Include <string.h> unconditionally.
55027         * lib/yesno.c (yesno): Define with a prototype.
55028
55029 2003-09-11  Bruno Haible  <bruno@clisp.org>
55030
55031         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
55032
55033 2003-09-10  Jim Meyering  <jim@meyering.net>
55034
55035         * lib/error.c: Correct indentation of cpp directives.
55036
55037 2003-09-10  Bruno Haible  <bruno@clisp.org>
55038
55039         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
55040         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
55041         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
55042         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
55043         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
55044         <stdlib.h> and <string.h> checks.
55045         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
55046         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
55047
55048 2003-09-10  Bruno Haible  <bruno@clisp.org>
55049
55050         * lib/strcspn.c: Include <string.h> unconditionally.
55051         * lib/strpbrk.c: Include <string.h> unconditionally.
55052         * lib/strstr.c: Include <string.h> unconditionally.
55053         * lib/unicodeio.c: Include <string.h> unconditionally.
55054         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
55055         * lib/unsetenv.c: Likewise.
55056         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
55057         * lib/yesno.c: Include <stdlib.h> unconditionally.
55058         (rpmatch): Add prototype.
55059
55060 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55061
55062         More patches to assume C89 or better.
55063         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
55064         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
55065         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
55066         or for string.h.
55067         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
55068         stdlib.h.
55069         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
55070         C headers.
55071         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
55072         string.h.
55073         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
55074         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
55075         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
55076         or for string.h.
55077         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
55078         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
55079         C headers.
55080         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
55081         memcpy.
55082         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
55083         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
55084         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
55085         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
55086         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
55087         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
55088         string.h, free.
55089         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
55090         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
55091         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
55092         C headers, or for string.h.
55093         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
55094         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
55095         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
55096         headers, memory.h, stdlib.h, string.h, strings.h.
55097         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
55098         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
55099         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
55100         strchr.
55101         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
55102         headers, memory.h, string.h.
55103         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
55104         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
55105         free.
55106         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
55107         headers.
55108         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
55109         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
55110         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
55111         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
55112         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
55113
55114 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55115
55116         More K&R removal.
55117
55118         * lib/acosl.c (main): Use a prototype.
55119         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
55120         tanl.c: Likewise.
55121
55122         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
55123
55124         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
55125         (getopt, etopt_long, getopt_long_only, _getopt_internal)
55126         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
55127         with a prototype.
55128         * lib/getopt.c (const): Remove macro.
55129         Include <string.h> unconditionally.
55130         (my_index): Remove; all uses changed to strchr.
55131         (strlen): Remove decl.
55132         (exchange): Remove forward decl; no longer needed.
55133         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
55134         Define with prototype.
55135         * lib/getopt1.c (const): Remove macro.
55136         (getopt_long, getopt_long_only, main): Define with prototype.
55137
55138         * lib/getugroups.c: Include <string.h> unconditionally.
55139
55140         * lib/getusershell.c: Include <stdlib.h> unconditionally.
55141         (getusershell, setusershell, endusershell, readname, main):
55142         Define with prototypes.
55143
55144         * lib/group-member.c: Include group-member.h first.
55145         Include <stdlib.h> unconditionally.
55146
55147         * lib/hard-locale.c: Include hard-locale.h first.
55148         Include <stdlib.h>, <string.h> unconditionally.
55149
55150         * lib/hash.c (free, malloc): Remove decls.
55151         Include <stdlib.h> unconditionally.
55152
55153         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
55154         (getenv): Do not declare.
55155
55156         * lib/idcache.c: Include <string.h> unconditionally.
55157
55158         * lib/long-options.c: Include long-options.h first, to test interface.
55159         Include <stdlib.h> unconditionally.
55160
55161         * lib/makepath.c: Include makepath.h first, to test interface.
55162         Include <stdlib.h> and <string.h> unconditionally.
55163
55164         * lib/linebuffer.c: Include <stdlib.h>.
55165         (free): Remove decl.
55166
55167         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
55168         stddef.h. rpl_malloc returns void *, not char *.
55169         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
55170         prototype.
55171
55172         * lib/md5.h: Include <limits.h> unconditionally.
55173         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
55174         (__P): Remove; all uses removed.
55175         * lib/md5.c: Include "md5.h" first.
55176         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
55177         md5_buffer, md5_process_bytes, md5_process_block):
55178         Define with prototypes.
55179         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
55180         * lib/sha.c: Include "sha.h" first.
55181         Include <stdlib.h>, <string.h> unconditionally.
55182
55183         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
55184         * lib/memcmp.c (__ptr_t): Likewise.
55185         * lib/memrchr.c (__ptr_t): Likewise.
55186         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
55187         Include <string.h> unconditionally.
55188         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
55189         * lib/memchr.c: Include <stdlib.h> unconditionally.
55190         * lib/memchr.c (LONG_MAX): Remove.
55191         * lib/memrchr.c (LONG_MAX): Likewise.
55192         * lib/memchr.c (__memchr): Define via a prototype.
55193         * lib/memrchr.c (__memrchr): Likewise.
55194         * lib/memcmp.c (__P): Remove, and remove all uses.
55195         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
55196         Remove forward decls; no longer needed.
55197         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
55198         Use types required by C89 in prototype.
55199
55200         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
55201         * lib/savedir.c: Likewise.
55202         * lib/mkdir.c (free): Remove decl.
55203         * lib/rmdir.c (rmdir): Define with a prototype.
55204         * lib/savedir.c: Include savedir.h first, to test interface.
55205
55206         * lib/mktime.c (STDC_HEADERS): Remove.
55207         Include <stdlib.h>, <string.h> unconditionally.
55208
55209         * lib/modechange.c: Include <stdlib.h> unconditionally.
55210         (malloc): Remove decl.
55211
55212         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
55213         (free): Remove decl.
55214
55215         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
55216         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
55217         (This type really should be intptr_t, but that's a C99ism.)
55218         (_obstack_memcpy): Remove: all uses changed to memcpy.
55219         Include <string.h> unconditionally.
55220         (struct obstack): Assume __STDC__ for types of members
55221         chunkfun, freefun, extra_arg.
55222         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
55223         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
55224         obstack_begin, obstack_specify_allocation,
55225         obstack_specify_allocation_with_arg, obstack_chunkfun,
55226         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
55227         Remove unprototyped decls and the macros that use them.
55228         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
55229         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
55230         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
55231         (defined __STDC__ && __STDC__)]:
55232         Remove nonprototyped code.
55233         Include <stdlib.h> unconditionally.
55234         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
55235         _obstack_allocated_p, _obstack_free, obstack_free,
55236         _obstack_memory_used, print_and_abort):
55237         Define using prototypes.
55238         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
55239         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
55240         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
55241         obstack_next_free, obstack_object_size, obstack_room) [0]:
55242         Remove unused, unprototyped code.
55243
55244         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
55245
55246         * lib/physmem.c (physmem_total, physmem_available, main): Define
55247         with prototypes.
55248
55249         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
55250         (main): Define with a prototype.
55251
55252         * lib/posixver.c (getenv): Remove decl.
55253
55254         * lib/putenv.c (malloc): Returns void *, not char *.
55255         Include <string.h> unconditionally.
55256         (strchr, memcpy, NULL): Do not define.
55257
55258         * lib/readtokens.c: Include readtokens.h first, to test interface.
55259         Include <stdlib.h>, <string.h> unconditionally.
55260         (init_tokenbuffer): Define with a prototype.
55261
55262         * lib/regex.c (PARAMS): Remove.  All uses removed.
55263         All uses of _RE_ARGS removed, too.
55264         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
55265         unconditionally.
55266         (bzero): Assume memset exists.
55267         (memcmp, memcpy, NULL): Remove.
55268         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
55269         char, or assignments to local vars of type signed char.
55270         (init_syntax_once, PREFIX(extract_number_and_incr),
55271         PREFIX(print_partial_compiled_pattern),
55272         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
55273         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
55274         PREFIX(regex_grow_registers), PREFIX(regex_compile),
55275         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
55276         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
55277         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
55278         wcs_compile_range, byte_compile_range, truncate_wchar,
55279         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
55280         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
55281         count_mbs_length, wcs_re_match_2_internal,
55282         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
55283         PREFIX(alt_match_null_string_p),
55284         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
55285         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
55286         regfree, PREFIX(extract_number)): Define with prototype.  Remove
55287         now-unnecessary declaration, if any.
55288         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
55289         regcomp, regexec):
55290         Remove now-unnecessary casts among pointer types.
55291         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
55292
55293         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
55294         (free): Remove decl.
55295
55296         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
55297
55298         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
55299         (free): Remove decl.
55300
55301         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
55302         * lib/xgetcwd.c: Likewise.
55303
55304         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
55305         (free): Remove decl.
55306
55307         * lib/strchrnul.c (strchrnul): Define with a prototype.
55308         Fix bug: c_in was not converted to char before searching.
55309
55310         The following changes are not K&R related:
55311
55312         * lib/group-member.h: Include <sys/types.h>, so that this file is
55313         self-contained.
55314         * lib/makepath.h: Likewise.
55315
55316         * lib/getusershell.c (readname, default_index, line_size, readname):
55317         Use size_t, not int, for sizes.
55318         (readname): If the size overflows, report an error instead of
55319         looping forever.
55320
55321 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55322
55323         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
55324         libc.
55325
55326 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55327
55328         * README: New section: portability guidelines.
55329
55330 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
55331
55332         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
55333         C89 spec.
55334
55335 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
55336
55337         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
55338
55339 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55340
55341         Assume C89 or better; remove K&R cruft.
55342         A few of these changes were first proposed by Derek Robert Price
55343         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
55344
55345         * lib/addext.c: Include <string.h> unconditionally.
55346         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
55347         Don't declare getenv or malloc.
55348
55349         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
55350         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
55351         (NULL): Remove.
55352         (find_stack_direction, alloca): Use prototypes.
55353
55354         * lib/atexit.c (atexit): Define using a prototype.
55355
55356         * lib/basename.c, dirname.c, stripslash.c:
55357         Include <string.h> unconditionally.
55358
55359         * lib/bcopy.c: Include <stddef.h>.
55360         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
55361
55362         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
55363
55364         * lib/error.h (error, error_at_line, error_print_progname)
55365         [! (defined (__STDC__) && __STDC__)]: Remove decls.
55366         * lib/error.c: Include error.h first, to check interface.
55367         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
55368         (VA_START): Remove; all uses changeed to va_start.
55369         (exit, strerror): Remove decls.
55370         (error_print_progname): Prototype uncondionally.
55371         Don't include <errno.h>; no longer needed.
55372         (private_strerror): Remove.
55373         (error_tail): Always define.
55374         (error, error_at_line): Assume C89 or better; always use prototypes.
55375         * lib/fatal.c: Include "fatal.h" first, to test interface.
55376         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
55377         (VA_START): Remove; all uses changed to va_start.
55378         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
55379         this case.
55380         (exit): Remove decl.
55381         (fatal): Prototype unconditionally.  Assume va_start works.
55382         Abort at end, to pacify gcc.
55383
55384         * lib/euidaccess.c (main): Define with a prototype.
55385
55386         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
55387
55388         * lib/exitfail.c: Include <stdlib.h> unconditionally.
55389
55390         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
55391         prototypes.
55392         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
55393         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
55394         (getenv): Remove decl.
55395         (fnmatch): Define using a prototype.
55396         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
55397         (FCT): Define using a prototype.
55398
55399         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
55400
55401         * lib/gethostname.c: Include <stddef.h>.
55402         (gethostname): Define with prototype.  Length is size_t, not int.
55403
55404 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55405
55406         Assume C89 or better; remove K&R cruft.
55407         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
55408         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
55409         string.h, getenv, malloc.
55410         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
55411         headers.
55412         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
55413         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
55414         do not check for strerror.
55415         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
55416         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
55417         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
55418         do not check for doprnt or vprintf.
55419         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
55420         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
55421
55422 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55423
55424         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
55425         getversion.c should have been removed then, but was accidentally
55426         preserved.
55427
55428         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
55429         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
55430
55431 2003-09-08  Karl Berry  <karl@gnu.org>
55432
55433         * config/config.sub, config.guess, srclistvars.sh: update from savannah
55434                 config, forget about prep.
55435
55436         * config/depcomp, missing: update from automake.
55437
55438 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55439
55440         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
55441         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55442
55443 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55444
55445         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
55446         copy_tm_result.  Bug reported by Simon Josefsson in
55447         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55448
55449 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55450
55451         * m4/time_r.m4: New file.
55452         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
55453         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
55454         is. Check for timegm declaration.
55455         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
55456         Do not check for gmtime_r.
55457         Replace mktime if __mktime_internal does not exist and if mktime
55458         hasn't been replaced already.
55459
55460 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55461
55462         * lib/time_r.c, lib/time_r.h: New files.
55463
55464         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
55465         __localtime_r.
55466         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
55467         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
55468
55469         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
55470         __gmtime_r.
55471         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
55472         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
55473         Include <time_r.h>.
55474
55475         * lib/timegm.c: Switch to glibc implementation, with the following
55476         changes:
55477         [defined HAVE_CONFIG_H]: Include <config.h>.
55478         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
55479         (__mktime_internal) [!defined _LIBC]: New decl.
55480         (__gmtime_r) [!defined _LIBC]: New macro and function.
55481         (timegm): Use a prototype, since gnulib assumes C89.
55482         Do not bother declaring tmp to be const, as it's not really usefu.
55483         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
55484         (timegm): Declare only if HAVE_DECL_TIMEGM.
55485
55486 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55487
55488         * MODULES.html.sh (func_all_modules): Add time_r.
55489         * modules/time_r: New file.
55490         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
55491         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
55492
55493 2003-09-03  Paul Eggert  <eggert@twinsun.com>
55494
55495         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
55496         Bug reported by Lute Kamstra in
55497         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
55498
55499         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
55500         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
55501         course with correspondingly smaller numbers for tomorrow and
55502         yesterday.  From Tadayoshi Funaba.  Originally installed into
55503         sh-utils on 1999-08-07, but the patch got lost (I guess during the
55504         coreutils merge?).
55505
55506 2003-08-31  Simon Josefsson  <jas@extundo.com>
55507
55508         * modules/timegm: New file.
55509         * MODULES.html.sh (func_all_modules): Add timegm.
55510
55511 2003-08-31  Simon Josefsson  <jas@extundo.com>
55512
55513         * m4/timegm.m4: New file.
55514
55515 2003-08-31  Simon Josefsson  <jas@extundo.com>
55516
55517         * lib/timegm.h: New file.
55518         * lib/timegm.c: New file.  Based on
55519         wget-1.8.2/src/http.c:mktime_from_utc.
55520
55521 2003-08-31  Karl Berry  <karl@gnu.org>
55522
55523         * lib/argp.h: update from libc.
55524
55525 2003-08-28  Bruno Haible  <bruno@clisp.org>
55526
55527         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
55528         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
55529         followed by '#define fnmatch fnmatch_posix' gives an error.
55530
55531 2003-08-28  Bruno Haible  <bruno@clisp.org>
55532
55533         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
55534         warning on QNX, which defines O_BINARY to 000000.
55535
55536 2003-08-27  Jim Meyering  <jim@meyering.net>
55537
55538         * m4/mkstemp.m4: Require that the system mkstemp be able to create
55539         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
55540         would fail after 32.  Reported by Danny Levinson.  Details here:
55541         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
55542
55543 2003-08-24  Bruno Haible  <bruno@clisp.org>
55544
55545         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
55546         MSVC7 <stdio.h> is included later.
55547
55548 2003-08-22  Simon Josefsson  <jas@extundo.com>
55549
55550         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
55551
55552 2003-08-20  Karl Berry  <karl@gnu.org>
55553
55554         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
55555
55556 2003-08-20  Bruno Haible  <bruno@clisp.org>
55557
55558         * modules/progname: New file.
55559         * MODULES.html.sh (func_all_modules): Add progname.
55560
55561 2003-08-20  Bruno Haible  <bruno@clisp.org>
55562
55563         * lib/progname.h: New file, from GNU gettext.
55564         * lib/progname.c: New file, from GNU gettext.
55565         * lib/progreloc.c: New file, from GNU gettext.
55566
55567 2003-08-19  Jim Meyering  <jim@meyering.net>
55568
55569         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
55570         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
55571
55572 2003-08-19  Bruno Haible  <bruno@clisp.org>
55573
55574         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
55575         more.
55576
55577 2003-08-19  Bruno Haible  <bruno@clisp.org>
55578
55579         * lib/xstrdup.c: Assume <string.h> exists.
55580
55581 2003-08-18  Paul Eggert  <eggert@twinsun.com>
55582
55583         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
55584         in makefile rules.
55585
55586 2003-08-18  Jim Meyering  <jim@meyering.net>
55587
55588         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
55589         * m4/lib-ld.m4: Likewise.
55590
55591 2003-08-18  Jim Meyering  <jim@meyering.net>
55592
55593         * lib/setenv.h: Indent nested cpp directive.
55594         * lib/vasnprintf.c: Remove trailing blanks.
55595
55596 2003-08-17  Simon Josefsson  <jas@extundo.com>
55597
55598         * modules/xstrndup: New file.
55599         * MODULES.html.sh (func_all_modules): Add xstrndup.
55600
55601 2003-08-17  Simon Josefsson  <jas@extundo.com>
55602
55603         * modules/argp: Fix autoconf macro name. Add more dependencies.
55604
55605 2003-08-17  Simon Josefsson  <jas@extundo.com>
55606
55607         * m4/xstrndup.m4: New file.
55608
55609 2003-08-17  Simon Josefsson  <jas@extundo.com>
55610
55611         * m4/argp.m4: New file.
55612
55613 2003-08-17  Simon Josefsson  <jas@extundo.com>
55614             Bruno Haible  <bruno@clisp.org>
55615
55616         * lib/xstrndup.h: New file.
55617         * lib/xstrndup.c: New file.
55618
55619 2003-08-17  Bruno Haible  <bruno@clisp.org>
55620
55621         * modules/strndup (Files, Include): Add lib/strndup.h.
55622
55623 2003-08-17  Bruno Haible  <bruno@clisp.org>
55624
55625         * modules/euidaccess (Files): Add lib/euidaccess.h.
55626
55627 2003-08-17  Bruno Haible  <bruno@clisp.org>
55628
55629         * lib/strndup.h: New file.
55630
55631 2003-08-17  Bruno Haible  <bruno@clisp.org>
55632
55633         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
55634         like AC_GNU_SOURCE.
55635         * modules/extensions (configure.ac): Comment out the invocation of
55636         gl_USE_SYSTEM_EXTENSIONS.
55637
55638 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55639
55640         Merges from coreutils, etc.
55641         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
55642         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
55643         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
55644         fixing a typo.
55645         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
55646         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
55647
55648 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55649
55650         Document merge from coreutils.
55651         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
55652         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
55653         * modules/utime: Add m4/utimes-null.m4.
55654
55655 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55656
55657         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
55658         space, undoing this 2003-08-12 change:
55659         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
55660
55661 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55662
55663         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
55664         strtoul.c from libc, undoing this 2003-08-12 change:
55665         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
55666
55667 2003-08-16  Jim Meyering  <jim@meyering.net>
55668
55669         Merges from coreutils.
55670         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
55671         prefix.  Adjust cache variables similarly.  Create 500 rather than
55672         just 300 files, to exercise bug on Darwin6.5, too.
55673         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
55674         $missing_dir.
55675         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
55676         AM_SYS_POSIX_TERMIOS.
55677         Reported by mkc@mathdogs.com.
55678         Also change use of $am_cv_sys_posix_termios
55679         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
55680         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
55681         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
55682         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
55683         in /proc/mounts until it finds one with matching device number.  This
55684         is unnecessary when the FILE argument *is* a mount point.  No stat call
55685         is necessary in that case.  So, disable the statvfs-testing code on
55686         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
55687         as RedHat bug# 84846.
55688         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
55689         to 1MB, so as not to render systems with no stack size limit (e.g.,
55690         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
55691         Include <unistd.h>.  On some systems,
55692         it is required for the definition of _SC_PAGESIZE.
55693
55694 2003-08-16  Jim Meyering  <jim@meyering.net>
55695
55696         Merge from coreutils.
55697         * lib/xstrtoimax.c: #else #if -> #elif.
55698         * lib/xstrtoumax.c: Likewise.
55699
55700 2003-08-16  Jim Meyering  <jim@meyering.net>
55701
55702         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
55703         * m4/utimes.m4: Removed.
55704         * m4/utimes-null.m4: Renamed from utimes.m4.
55705
55706         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
55707         to 1MB, so as not to render systems with no stack size limit (e.g.,
55708         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
55709         Include <unistd.h>.  On some systems,
55710         it is required for the definition of _SC_PAGESIZE.
55711
55712 2003-08-16  Jim Meyering  <jim@meyering.net>
55713         and Paul Eggert  <eggert@cs.ucla.edu>
55714
55715         Merges from coreutils, etc.
55716
55717         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
55718         using the latest version from cvs.  This avoids problems with #line
55719         directives using a vendor (Sun) compiler.
55720         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
55721         Don't set GETGROUPS_LIB here; now it's
55722         done via getgroups.m4's wrapper function.
55723         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
55724         rather than just in sh-util/configure.in, so that the
55725         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
55726         same.
55727         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
55728         AC_FUNC_GETLOADAVG where to find getloadavg.c.
55729         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
55730         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
55731         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
55732         Remove code that is now done by the newly-required macros.
55733         Append $(EXEEXT) to DF_PROG.
55734         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
55735         Do not invoke or require the following here,
55736         since prereq.m4 or some gnulib .m4 now does this for us:
55737         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
55738         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
55739         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
55740         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
55741         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
55742         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
55743         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
55744         AC_FUNC_OBSTACK.
55745         Do not replace the following functions, as this is now the job
55746         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
55747         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
55748         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
55749         atexit getpass, strdup, getpagesize.
55750         Replace 'raise'.
55751         Do not check for the following functions, as this is now the job
55752         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
55753         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
55754         setregid.
55755         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
55756         Check for sys/sysctl.h.
55757         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
55758         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
55759         of checking for ssize_t ourselves.
55760
55761         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
55762         Require every macro that gnulib/modules/* suggests for us.
55763         (jm_PREREQ_ADDEXT): New macro.
55764         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
55765         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
55766
55767         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
55768         (gl_PHYSMEM): Use it.
55769         Also check for `table' function.
55770         Check for new headers and functions.
55771         Add check for sys/sysmp.h.
55772         With suggestions from Kaveh Ghazi.
55773         Ignore headers that are present but cannot be compiled.  This
55774         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
55775         C 5.4.
55776
55777 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55778
55779         Document merge from coreutils.
55780         * modules/userspec: Depend on posixver.
55781         * modules/strftime: Depend on tzset.
55782
55783 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55784
55785         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
55786         rather than tab, after '#' in shell-script copyright notices.
55787         Suggested by Bruno Haible.
55788
55789 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55790
55791         * config/srclist-update: Use three spaces, rather than tab, after '#'
55792         in shell-script copyright notices.  Suggested by Bruno Haible.
55793         Remove unnecessary parenthesization in regular expression.
55794
55795 2003-08-15  Jim Meyering  <jim@meyering.net>
55796
55797         Merge from coreutils.
55798         * lib/xgethostname.c: Include <stdlib.h>.
55799         (xghostname): Don't exit for anything other than memory-related
55800         failure; just return NULL.
55801         * lib/userspec.c: Include "posixver.h".
55802         (parse_user_spec): Accept `.' as a separator only
55803         in pre-POSIX-200112 mode.
55804         * lib/strtoimax.c: Use #elif rather than #else #if.
55805         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
55806         Remove function, now that we can rely on a working tzset function.
55807         [!_LIBC]: Ensure that the required autoconf test has been run.
55808         [!defined _NL_CURRENT && HAVE_STRFTIME]:
55809         Use underlying_strftime for %r.
55810         * lib/sha.c: Merge in some clean-up and optimization changes from
55811         glibc.
55812         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
55813         Ensure that it is a multiple of 64.
55814         Rearrange loop exit tests so as to avoid performing an
55815         additional fread after encountering an error or EOF.
55816         * lib/realloc.c: Update copyright date.
55817
55818 2003-08-15  Jim Meyering  <jim@meyering.net>
55819         and Paul Eggert  <eggert@twinsun.com>
55820
55821         Merge from coreutils.
55822         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
55823         member but strut utmpx does not.  Needed for AIX 4.3.3.
55824         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
55825
55826 2003-08-15  Jim Meyering  <jim@meyering.net>
55827         and Paul Eggert  <eggert@cs.ucla.edu>
55828
55829         Merges from coreutils, etc.
55830         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
55831         Require gl_FUNC_TZSET_CLOBBER.
55832         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
55833         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
55834         members.
55835
55836 2003-08-14  Paul Eggert  <eggert@twinsun.com>
55837
55838         Help the merge from coreutils.
55839         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
55840         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
55841         * m4/tzset.m4: Use it too.
55842
55843 2003-08-14  Paul Eggert  <eggert@twinsun.com>
55844
55845         * modules/tzset: New file.
55846
55847 2003-08-14  Jim Meyering  <jim@meyering.net>
55848
55849         Merges from coreutils.
55850         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
55851         variable names, rather than @FNMATCH_H@.
55852         * modules/alloca: Likewise for $(ALLOCA_H).
55853
55854         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
55855         the three copies of the literal target, `fnmatch.h'.
55856         * modules/alloca (alloca.h): Likewise.
55857
55858 2003-08-14  Jim Meyering  <jim@meyering.net>
55859
55860         Merge from coreutils.
55861         * m4/tzset.m4: New file.
55862         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
55863         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
55864         otherwise, AIX 5.1 systems would end up using the latter.
55865         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
55866         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
55867         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
55868         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
55869
55870 2003-08-14  Jim Meyering  <jim@meyering.net>
55871
55872         Merge from coreutils.
55873         * lib/obstack.h: Whitespace changes.
55874         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
55875         and xcalloc return values.
55876         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
55877         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
55878         hang on OSF/1 5.1 for DIR on both local and remote file systems.
55879         Reported by (and fix confirmed by) Nelson H. F. Beebe.
55880         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
55881         error from mntctl.
55882         Use mntctl's return value to drive the entry-processing loop, since
55883         we can't rely on the value of the vmt_length member in the last
55884         entry.  On some systems doing so could result in exhausting
55885         virtual memory.  Based in part on a patch from Mike Jetzer.
55886
55887 2003-08-14  Jim Meyering  <jim@meyering.net>
55888         and Paul Eggert  <eggert@twinsun.com>
55889
55890         Merges from coreutils, plus other fixes.
55891         * lib/physmem.c: Merge in portability changes from gcc/libiberty
55892         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
55893         for credits and details.  Thanks to Kaveh Ghazi for helping
55894         to keep these files in sync.
55895         (ARRAY_SIZE): Define it.
55896         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
55897         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
55898         (memcasecmp): Don't assume size_t fits in unsigned int.
55899         Remove casts and duplicate code.
55900         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
55901         (memcpy): Remove definition.
55902         Merge in some clean-up and optimization changes from glibc.
55903         [BLOCKSIZE]: Move definition to top of file.
55904         Ensure that it is a multiple of 64.
55905         Rearrange loop exit tests so as to avoid performing an
55906         additional fread after encountering an error or EOF.
55907         * lib/md5.h (md5_uintptr): Define.
55908         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
55909         return to the initial working directory.  Preserve errno
55910         for caller.
55911         * lib/idcache.c: Include "xalloc.h".
55912         (xmalloc, xrealloc): Remove decls.
55913         (getuser): Remove casts no longer required in C89.
55914         * lib/human.c: Include stdio.h, for sprintf.
55915         * lib/group-member.c: Include "xalloc.h".
55916         (xmalloc, xrealloc): Remove decls.
55917         (get_group_info): Remove casts no longer required in C89.
55918         * lib/getusershell.c (readname): Remove casts no longer required in
55919         C89.
55920         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
55921         * lib/getline.c: Whitespace fix, from coreutils.
55922
55923 2003-08-13  Paul Eggert  <eggert@twinsun.com>
55924
55925         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
55926         Check for isascii.
55927
55928         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
55929         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
55930         Undo previous (whitespace-only) change.
55931
55932 2003-08-13  Paul Eggert  <eggert@twinsun.com>
55933
55934         * lib/exclude.c: Include <ctype.h>
55935         (IN_CTYPE_DOMAIN): New macro.
55936         (is_space): New fn.
55937         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
55938         and empty lines.
55939
55940         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
55941         Undo previous (whitespace-only) change.
55942
55943 2003-08-13  Paul Eggert  <eggert@twinsun.com>
55944
55945         * config/srclist-update: Change update back to the old behavior,
55946         leaving whitespace alone.  Use one 'sed' command rather than a
55947         pipeline.
55948         (fixlicense): Now a variable, not a function.
55949         (remove_trailing_blanks): Remove.
55950         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
55951         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
55952         Undo previous (whitespace-only) change.
55953
55954 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55955
55956         Merge from coreutils.
55957         * modules/euidaccess: Add lib_SOURCES, include for new
55958         file euidaccess.h
55959
55960 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55961
55962         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
55963         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
55964         Normalize leading white space and remove trailing white space.
55965
55966         Merge from coreutils
55967         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
55968
55969         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
55970         0.12.1.  These files are now being upgraded automatically by
55971         ../config/srclist-update.
55972
55973 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55974
55975         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
55976         Normalize leading white space and remove trailing white space.
55977         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
55978         notice, as per ../config/srclist-update.
55979
55980         Merge from coreutils.
55981         * lib/euidaccess.h: New file.
55982         * lib/euidaccess.c: Include it.
55983         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
55984         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
55985         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
55986
55987 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55988
55989         * config/srclist-update: Add copyright notice.
55990         (remove_id_lines, remove_trailing_blanks): New constants.
55991         (fixfile): Use them to normalize spacing a bit in copied files.
55992         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
55993         Normalize leading white space and remove trailing white space.
55994
55995         * config/texinfo.tex: Sync with texinfo.
55996
55997         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
55998         strtoul.c from libc, to merge coreutils whitespace changes.
55999
56000         * config/srclist.txt: Get the following m4 files from gettext:
56001         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
56002         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
56003         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
56004         wint_t.m4.
56005
56006 2003-08-12  Karl Berry  <karl@gnu.org>
56007
56008         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
56009         been made.
56010
56011 2003-08-11  Paul Eggert  <eggert@twinsun.com>
56012
56013         * modules/gnu-source, m4/gnu-source.m4:
56014         Remove; we're assuming Autoconf 2.54 or later now.
56015         Suggested by Bruno Haible.
56016         * MODULES.html.sh (func_all_modules): Remove gnu-source.
56017
56018 2003-08-11  Bruno Haible  <bruno@clisp.org>
56019
56020         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
56021
56022 2003-08-11  Bruno Haible  <bruno@clisp.org>
56023
56024         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
56025         (vasnprintf): Use it instead of wcslen.
56026
56027 2003-08-11  Bruno Haible  <bruno@clisp.org>
56028
56029         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
56030         value to ensure that _Bool promotes to int. Use #define for _Bool when
56031         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
56032
56033 2003-08-10  Karl Berry  <karl@gnu.org>
56034
56035         * lib/regex.h: update from libc (whitespace fix).
56036
56037 2003-08-09  Paul Eggert  <eggert@twinsun.com>
56038
56039         Merge some files from coreutils.  These changes were
56040         originally made by Jim Meyering.
56041         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
56042         many older Unixes require this.
56043         * lib/alloca.c (alloca): Remove cast to argument of free;
56044         no longer needed in C89.
56045         * lib/alloca_.h, regex.h: Fix white space to match
56046         what GNU indent does.
56047
56048 2003-08-09  Paul Eggert  <eggert@twinsun.com>
56049
56050         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
56051         apparently Emacs's Unicode mode got confused before my 2003-08-05
56052         checkin.
56053
56054 2003-08-08  Paul Eggert  <eggert@twinsun.com>
56055
56056         * m4/extensions.m4: New file.
56057         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
56058         Require gl_USE_SYSTEM_EXTENSIONS.
56059         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
56060         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
56061
56062 2003-08-08  Paul Eggert  <eggert@twinsun.com>
56063
56064         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
56065         * modules/extensions, modules/gnu-source: New files.
56066         * modules/timespec, modules/unlocked-io: Depend on extensions.
56067
56068 2003-08-07  Paul Eggert  <eggert@twinsun.com>
56069
56070         * modules/restrict: New file.
56071         * MODULES.html.sh (func_all_modules): Add restrict.
56072         * modules/regex: Depend on restrict.
56073
56074 2003-08-07  Paul Eggert  <eggert@twinsun.com>
56075
56076         * m4/restrict.m4: New file.
56077         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
56078
56079 2003-08-07  Bruno Haible  <bruno@clisp.org>
56080
56081         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
56082         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
56083
56084 2003-08-07  Bruno Haible  <bruno@clisp.org>
56085
56086         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
56087         makes the module 'getndelim2' compatible with the module 'getline'.
56088
56089 2003-08-05  Paul Eggert  <eggert@twinsun.com>
56090
56091         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
56092         byte with "\201" to avoid glitches when editing that source file
56093         with multi-gnome-terminal.
56094
56095 2003-08-05  Paul Eggert  <eggert@twinsun.com>
56096
56097         * lib/bumpalloc.h: Remove.
56098
56099 2003-08-05  Paul Eggert  <eggert@twinsun.com>
56100
56101         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
56102         * modules/bumpalloc: Remove.
56103
56104 2003-08-04  Paul Eggert  <eggert@twinsun.com>
56105
56106         * lib/getloadavg.c: Change copyright notice and spacing to conform to
56107         GNU coding style.
56108
56109         Merge from coreutils.
56110         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
56111         1. From glibc.
56112         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
56113         from Karl Berry, implemented by Jim Meyering.
56114         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
56115         from Dmitry V. Levin.
56116         Remove anachronistic cast of xrealloc.
56117         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
56118         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
56119         type. Otherwise, it wouldn't compile with at least /bin/cc on
56120         ymp-cray-unicos9.0.2.X.
56121         Combine two mostly-identical uses of alloca into one.
56122         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
56123
56124 2003-08-04  Dave Love  <d.love@dl.ac.uk>
56125
56126         [From Emacs.]
56127
56128         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
56129         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
56130         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
56131         obsolete NLIST_NAME_UNION.
56132         [__GNU__]: Undef BSD and FSCALE.
56133         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
56134
56135 2003-08-03  Paul Eggert  <eggert@twinsun.com>
56136
56137         * lib/stdbool_.h (_Bool): Make it signed char, instead of
56138         an enum type, so that it's guaranteed to promote to int.  See:
56139         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
56140
56141 2003-08-03  Karl Berry  <karl@gnu.org>
56142
56143         * config/depcomp: update from automake.
56144
56145 2003-07-31  Paul Eggert  <eggert@twinsun.com>
56146
56147         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
56148         (strerror): Don't assume that a printable int fits in 14 bytes.
56149
56150 2003-07-31  Bruno Haible  <bruno@clisp.org>
56151
56152         * modules/getpass-gnu: New file.
56153         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
56154
56155 2003-07-31  Bruno Haible  <bruno@clisp.org>
56156
56157         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
56158
56159 2003-07-24  Karl Berry  <karl@gnu.org>
56160
56161         * config/missing: update from automake.
56162
56163 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
56164             Bruno Haible  <bruno@clisp.org>
56165
56166         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
56167         * lib/getline.c (getline, getdelim): Likewise.
56168         Remove _GNU_SOURCE define; now it's defined in config.h through
56169         m4/getline.m4.
56170
56171 2003-07-23  Karl Berry  <karl@gnu.org>
56172
56173         * config/config.sub: update from prep.
56174
56175 2003-07-22  Paul Eggert  <eggert@twinsun.com>
56176
56177         * modules/xalloc (Depends-on): Add exitfail.
56178         * modules/xmemcoll: Likewise.
56179
56180 2003-07-22  Paul Eggert  <eggert@twinsun.com>
56181
56182         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
56183         over-parenthesization in macros.
56184
56185         Sync with coreutils.
56186
56187         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
56188         required by C99.
56189
56190         Use `exit_failure' for xalloc and xmemcoll instead of their own
56191         private exit-failure variables.
56192         * lib/xalloc.h (xalloc_exit_failure): Remove.
56193         * lib/xmalloc.c: Likewise.  Include exitfail.h.
56194         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
56195         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
56196         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
56197         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
56198
56199 2003-07-20  Jim Meyering  <jim@meyering.net>
56200
56201         * modules/closeout (Depends-on): Add exitfail.
56202         Suggestion from Bruno Haible.
56203
56204 2003-07-19  Karl Berry  <karl@gnu.org>
56205
56206         * config/config.sub: update from prep.
56207
56208 2003-07-18  Paul Eggert  <eggert@twinsun.com>
56209
56210         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
56211         Remove.
56212         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
56213         to test that it can stand by itself.  Include "exitfail.h".
56214         Clients should set exit_failure instead.
56215         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
56216
56217 2003-07-18  Bruno Haible  <bruno@clisp.org>
56218
56219         * modules/getndelim2: New file.
56220         * modules/getline: Share files with module getndelim2.
56221         * modules/getnline: Depend on getndelim2 instead of sharing files with
56222         it. Add getnline.c to lib_SOURCES.
56223         * MODULES.html.sh (func_all_modules): Add getndelim2.
56224
56225 2003-07-18  Bruno Haible  <bruno@clisp.org>
56226
56227         * m4/getndelim2.m4: New file.
56228         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
56229         invoke gl_PREREQ_GETNDELIM2.
56230         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
56231         gl_PREREQ_GETNDELIM2.
56232         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
56233         gl_GETNDELIM2.
56234
56235 2003-07-18  Bruno Haible  <bruno@clisp.org>
56236
56237         * lib/getndelim2.h: New file.
56238         * lib/getndelim2.c: Make into a module of its own. Include config.h,
56239         getndelim2.h.
56240         (getndelim2): Make non-static. Change return type to ssize_t.
56241         * lib/getline.h: Change argument names.
56242         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
56243         * lib/getnline.c: Include getndelim2.h.
56244
56245 2003-07-18  Andreas Schwab  <schwab@suse.de>
56246
56247         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
56248
56249 2003-07-17  Karl Berry  <karl@gnu.org>
56250
56251         * config/config.sub: update from prep.
56252
56253 2003-07-17  Bruno Haible  <bruno@clisp.org>
56254
56255         * modules/getnline: New file.
56256         * modules/getline: Add lib/getndelim2.c to source file list.
56257         * MODULES.html.sh (func_all_modules): Add getnline.
56258
56259 2003-07-17  Bruno Haible  <bruno@clisp.org>
56260
56261         * m4/getnline.m4: New file.
56262
56263 2003-07-17  Bruno Haible  <bruno@clisp.org>
56264
56265         * m4/Makefile.am.in: Remove file.
56266         * m4/Makefile.am: Remove file.
56267         * m4/Makefile.in: Remove file.
56268
56269 2003-07-17  Bruno Haible  <bruno@clisp.org>
56270
56271         * lib/getnline.h: New file.
56272         * lib/getnline.c: New file.
56273         * lib/getndelim2.c: New file, extracted from getline.c.
56274         (getndelim2): Renamed from getdelim2, with added nmax argument.
56275         * lib/getline.c: Include getndelim2.c.
56276         (getdelim2): Moved out to getndelim2.c.
56277         (getline, getdelim): Update.
56278
56279 2003-07-17  Bruno Haible  <bruno@clisp.org>
56280
56281         * lib/Makefile.am: Remove file.
56282         * lib/Makefile.in: Remove file.
56283
56284 2003-07-17  Bruno Haible  <bruno@clisp.org>
56285
56286         * configure.in: Remove file.
56287         * Makefile.in: Remove file.
56288
56289 2003-07-17  Bruno Haible  <bruno@clisp.org>
56290
56291         * MODULES.html.sh: Put the </BODY> right before </HTML>.
56292
56293 2003-07-16  Karl Berry  <karl@gnu.org>
56294
56295         * config/srclist-update: was running fixlicense twice, which caused
56296                 texinfo.tex to be nullified for some reason.  Simplify,
56297                 $gplsrc is no longer needed as far as I can see?
56298
56299 2003-07-16  Jim Meyering  <jim@meyering.net>
56300
56301         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
56302
56303 2003-07-15  Paul Eggert  <eggert@twinsun.com>
56304
56305         * config/srclist.txt: Get the following files from gettext-runtime/intl
56306         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
56307         ref-del.sin.  From Bruno Haible.
56308         * config/srclist-update (fixfile): Change grep pattern again, since the
56309         previous fix didn't work (there was another trailing $).  Use
56310         '[$]' to escape the $s.
56311
56312 2003-07-15  Karl Berry  <karl@gnu.org>
56313
56314         * lib/vasnprintf.c: update from gettext.
56315
56316 2003-07-15  Karl Berry  <karl@gnu.org>
56317
56318         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
56319         gets expanded when surrounded by '$'.
56320
56321 2003-07-15  Jim Meyering  <jim@meyering.net>
56322
56323         * modules/save-cwd: Don't depend on error.  From Derek Price.
56324
56325 2003-07-15  Jim Meyering  <jim@meyering.net>
56326
56327         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
56328
56329 2003-07-14  Simon Josefsson  <jas@extundo.com>
56330
56331         * modules/mempcpy: New file.
56332         * MODULES.html.sh (func_all_modules): Add mempcpy.
56333
56334 2003-07-14  Simon Josefsson  <jas@extundo.com>
56335
56336         * m4/mempcpy.m4: New file.
56337
56338 2003-07-14  Simon Josefsson  <jas@extundo.com>
56339
56340         * lib/mempcpy.h: New file.
56341         * lib/mempcpy.c: New file.
56342
56343 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56344
56345         * modules/getdate, modules/posixtm: Depend on mktime.
56346
56347 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56348
56349         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
56350         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
56351         unicodeio.c, unicodeio.h, unlocked-io.h:
56352         Switch from LGPL to GPL.
56353
56354 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56355
56356         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
56357         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
56358         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
56359         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
56360         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
56361         updated automatically by ../config/srclist-update.  This changes
56362         their license from LPGL to GPL.
56363
56364 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56365
56366         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
56367         assumed to refer to the root of the most recent stable gettext version.
56368         * config/srclistvars.sh: Add defaults for eggert.
56369         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
56370         Match "This program" as well as "The program".  This is needed
56371         for gettext.
56372
56373 2003-07-14  Jim Meyering  <jim@meyering.net>
56374
56375         Don't emit diagnostics.  Let callers do that.
56376         * lib/save-cwd.c: Don't include "error.h".
56377         (save_cwd): Don't call error.  Ensure that errno is valid
56378         when returning nonzero.
56379
56380         * lib/save-cwd.h (restore_cwd): Update prototype.
56381         * lib/save-cwd.c (restore_cwd): Remove two parameters.
56382         Simplify.  Don't call error upon failure.  Let callers do that.
56383         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
56384         when auditing is enabled.  But don't bother updating the #if.
56385
56386 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
56387
56388         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
56389         it breaks C++ compilation.
56390         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
56391
56392 2003-07-10  Simon Josefsson  <jas@extundo.com>
56393
56394         * modules/strchrnul (Makefile.am): Add strchrnul.h.
56395
56396 2003-07-10  Jim Meyering  <jim@meyering.net>
56397
56398         * m4/clock_time.m4: Remove trailing blank.
56399         * m4/intmax_t.m4: Likewise.
56400
56401 2003-07-10  Jim Meyering  <jim@meyering.net>
56402
56403         * lib/vasnprintf.c: Remove trailing blanks.
56404         Make cpp indentation consistent.
56405
56406 2003-07-09  Paul Eggert  <eggert@twinsun.com>
56407
56408         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
56409         posixver.c, strftime.c, strnlen.c, strverscmp.c:
56410         Switch from LGPL to GPL.
56411
56412 2003-07-09  Paul Eggert  <eggert@twinsun.com>
56413
56414         * config/srclist.txt: Sort sublists.  Add
56415         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
56416         that differ from gnulib for one reason or another; we'd like this list
56417         to be smaller but for now let's document what we have.
56418
56419 2003-07-08  Paul Eggert  <eggert@twinsun.com>
56420
56421         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
56422         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
56423         and sweeter "eval x=$x".
56424         * config/srclist.txt: Get lib/argp* from glibc.
56425
56426 2003-07-07  Paul Eggert  <eggert@twinsun.com>
56427
56428         * lib/mktime.c: Fix some boundary cases and remove need for floating
56429         point.
56430
56431         Issue a compile-time diagnostic if time_t is floating point, or if
56432         two's complement arithmetic is not in effect, or if arithmetic
56433         right shift does not propagate the sign.  These assumptions were
56434         all in the original code but they weren't checked.
56435
56436         (TIME_T_MIDPOINT, verify): New macros.
56437         (__isleap): Remove; it has integer overflow problems.
56438         (leapyear): New function, without those problems.
56439         (ydhms_tm_diff): Remove; splitting into two parts.
56440         (ydhms_diff): New function, containing the arithmetic part of
56441         the old ydhms_tm_diff function.  Issue a compile-time
56442         diagnostic if we are not using C99 integer division.
56443         Avoid casts when possible.
56444         (guess_time_tm): New function, containing the checking part of
56445         the old ydhms_tm_diff function.  Return the new value, rather than
56446         the difference between it and the old.  Accept a new argument T
56447         so that *T specifies the old value.  Check for overflow in the result.
56448
56449         (__mktime_internal): Use a time_t offset, not a long int offset.
56450         This undoes the 2003-06-04 change, which is no longer needed now
56451         that we have better overflow checking.
56452         (localtime_offset): Likewise.
56453
56454         (__mktime_internal): Avoid harmful overflow on hosts where time_t
56455         and long are 64-bit but int is only 32-bit.
56456         (ydhms_diff): Use long int to store year1 and yday1.
56457         Issue a compile-time diagnostic if long int is not wide enough.
56458
56459         (__mktime_internal): Use long int to store adjusted year and yday.
56460         Use plain C rather than preprocessor commands, if that doesn't
56461         affect efficiency.
56462         Check for overflow (and try to repair) after each probe
56463         rather than checking only at the very end.  This avoids some bugs
56464         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
56465         does not equal GMT offset at maximum time).
56466         Use integer to check for overflow rather than floating point; this
56467         is more portable to non-IEEE hosts, and is a tad faster.
56468         When we detect that we are oscillating between two values,
56469         don't check whether tm_isdst has the requested value, since
56470         we already know the answer.  When tm_isdst has the wrong value,
56471         use a different heuristic to find the right one, based on the
56472         extreme values actually observed in practice in tz2003a,
56473         rather than the (overly optimistic) "previous 3 calendar quarters".
56474
56475         (not_equal_tm, print_tm, check_result): Use "const T" rather than
56476         "T const" to accommodate glibc style.
56477         (check_result): Use less-confusing report format.  "long" -> "long int.
56478         (main): Likewise.
56479         Don't loop if the iteration overflows time_t.
56480         Allow a negative step in the iteration.
56481
56482 2003-07-06  Karl Berry  <karl@gnu.org>
56483
56484         * config/depcomp: update from automake.
56485         * config/config.sub: update from prep.
56486
56487 2003-07-03  Karl Berry  <karl@gnu.org>
56488
56489         * config/config.guess: update from prep.
56490
56491 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56492
56493         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
56494         xreadlink.c now includes it unconditionally.
56495
56496 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56497
56498         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
56499         having it depend on HAVE_SYS_TYPES_H.
56500
56501 2003-07-01  Bruno Haible  <bruno@clisp.org>
56502
56503         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
56504         <sys/types.h> should be sufficient.
56505         Reported by Paul Eggert.
56506
56507 2003-06-26  Karl Berry  <karl@gnu.org>
56508
56509         * config/depcomp: update from automake.
56510
56511 2003-06-26  Bruno Haible  <bruno@clisp.org>
56512
56513         * modules/human: Depend on module stdbool.
56514
56515 2003-06-25  Bruno Haible  <bruno@clisp.org>
56516
56517         * modules/readlink: New file.
56518         * modules/xreadlink: Depend on it.
56519         * MODULES.html.sh (func_all_modules): Add readlink.
56520
56521 2003-06-25  Bruno Haible  <bruno@clisp.org>
56522
56523         * m4/readlink.m4: New file.
56524
56525 2003-06-25  Bruno Haible  <bruno@clisp.org>
56526
56527         * lib/readlink.c: New file.
56528
56529 2003-06-22  Karl Berry  <karl@gnu.org>
56530
56531         * config/srclist.txt: update mkinstalldirs from automake.
56532         * config/mkinstalldirs: update.
56533
56534 2003-06-22  Bruno Haible  <bruno@clisp.org>
56535
56536         Portability to mingw32.
56537         * m4/ssize_t.m4: New file, from GNU gettext.
56538         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
56539         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
56540
56541 2003-06-22  Bruno Haible  <bruno@clisp.org>
56542
56543         * modules/safe-read: Add m4/ssize_t.m4.
56544         * modules/xreadlink: Add m4/ssize_t.m4.
56545
56546 2003-06-20  Bruno Haible  <bruno@clisp.org>
56547
56548         Assume C89, so PARAMS isn't needed.
56549         * lib/unicodeio.h (PARAMS): Remove.
56550         * lib/unicodeio.c: Don't use PARAMS.
56551
56552 2003-06-18  Karl Berry  <karl@gnu.org>
56553
56554         * config/config.{guess,sub}: update from prep.
56555
56556 2003-06-18  Jim Meyering  <jim@meyering.net>
56557
56558         Merge changes from coreutils.
56559         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
56560         Remove explicit declarations of xmalloc and realloc.
56561         Include xalloc.h.
56562         (read_utmp): Remove anachronistic cast of xmalloc.
56563
56564 2003-06-17  Paul Eggert  <eggert@twinsun.com>
56565
56566         Assume C89, so PARAMS isn't needed.
56567         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
56568         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
56569         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
56570         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
56571         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
56572         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
56573         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
56574         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
56575         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
56576         lib/xstrtod.h, lib/xstrtol.h: Likewise.
56577         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
56578         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
56579         no longer needed. Anyway, config.h should always be included before any
56580         other file.
56581
56582 2003-06-11  Simon Josefsson  <jas@extundo.com>
56583
56584         * modules/sysexits: New file.
56585         * MODULES.html.sh (func_all_modules): Add sysexits.
56586
56587 2003-06-11  Simon Josefsson  <jas@extundo.com>
56588
56589         * lib/sysexit_.h: New file.
56590
56591 2003-06-11  Derek Price  <derek@ximbiot.com>
56592
56593         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
56594         necessary.
56595
56596 2003-06-11  Bruno Haible  <bruno@clisp.org>
56597
56598         * m4/sysexits.m4: New file.
56599
56600 2003-06-10  Simon Josefsson  <jas@extundo.com>
56601
56602         * lib/argp.h: New file, from glibc.
56603         * lib/argp-ba.c: New file, from glibc.
56604         * lib/argp-eexst.c: New file, from glibc.
56605         * lib/argp-fmtstream.c: New file, from glibc.
56606         * lib/argp-fmtstream.h: New file, from glibc.
56607         * lib/argp-fs-xinl.c: New file, from glibc.
56608         * lib/argp-help.c: New file, from glibc.
56609         * lib/argp-namefrob.h: New file, from glibc.
56610         * lib/argp-parse.c: New file, from glibc.
56611         * lib/argp-pv.c: New file, from glibc.
56612         * lib/argp-pvh.c: New file, from glibc.
56613         * lib/argp-xinl.c: New file, from glibc.
56614
56615 2003-06-10  Simon Josefsson  <jas@extundo.com>
56616
56617         * modules/strchrnul: New file.
56618
56619 2003-06-10  Simon Josefsson  <jas@extundo.com>
56620
56621         * modules/argp: New file.
56622
56623 2003-06-10  Simon Josefsson  <jas@extundo.com>
56624
56625         * m4/strchrnul.m4: New file.
56626
56627 2003-06-10  Simon Josefsson  <jas@extundo.com>
56628
56629         * lib/strchrnul.h: New file.
56630         * lib/strchrnul.c: New file.
56631
56632 2003-06-10  Bruno Haible  <bruno@clisp.org>
56633
56634         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
56635
56636 2003-06-07  Karl Berry  <karl@gnu.org>
56637
56638         * config/config.{guess,sub}: update from prep.
56639
56640 2003-06-07  Jim Meyering  <jim@meyering.net>
56641
56642         * modules/strtod: Use $(...) notation, not @...@ for
56643         AC_REPLACE'd variables.
56644         * modules/localcharset: Likewise.
56645
56646 2003-06-07  Jim Meyering  <jim@meyering.net>
56647
56648         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
56649         in place of my name in the copyright comment.
56650         Remove definition and uses of __P.
56651
56652         From coreutils.
56653         * lib/stat.c: Don't declare xmalloc explicitly.
56654         Instead, include "xalloc.h".
56655         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
56656         xrealloc, and xcalloc return values.
56657         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
56658         Improve comment.
56659         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
56660
56661 2003-06-07  Bruno Haible  <bruno@clisp.org>
56662
56663         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
56664         avoid AC_CONFIG_LINKS.
56665         * modules/fnmatch (Makefile.am): Use explicit creation rule for
56666         fnmatch.h, to avoid AC_CONFIG_LINKS.
56667         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
56668
56669 2003-06-07  Bruno Haible  <bruno@clisp.org>
56670
56671         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
56672         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
56673         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
56674         directory.
56675         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
56676         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
56677         directory.
56678
56679 2003-06-06  Jim Meyering  <jim@meyering.net>
56680
56681         Merge from coreutils.
56682         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
56683         Consolidate declarations and initializations of *_base* locals.
56684
56685         Merge from coreutils.
56686         This avoids a core dump on systems without GNU putenv,
56687         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
56688         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
56689         (unsetenv): New static function, from GNU libc.
56690         (rpl_putenv): Use it.
56691
56692         * lib/modechange.c: Remove trailing blanks.
56693
56694         Merge from coreutils.
56695         * lib/fsusage.c: Remove declaration of statfs.
56696         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
56697
56698         * lib/posixtm.c: Include <stdbool.h> unconditionally.
56699
56700 2003-06-06  Jim Meyering  <jim@meyering.net>
56701
56702         * lib/stdbool_.h: Renamed from stdbool.h.in.
56703
56704 2003-06-06  Jim Meyering  <jim@meyering.net>
56705             Bruno Haible  <bruno@clisp.org>
56706
56707         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
56708         Adjust Makefile.am snippet not to redirect directly to target.
56709         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
56710
56711 2003-06-05  Paul Eggert  <eggert@twinsun.com>
56712
56713         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
56714         mismatch, look in future quarters as well as past.  This fixes a
56715         bug when processing fall-backwards gaps immediately after a long
56716         period of daylight-saving time.
56717
56718         * lib/mktime.c: Assume freestanding C89 or better.
56719         (HAVE_LIMITS_H): Remove.  Assume it's 1.
56720         (__P): Remove; not used.
56721         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
56722         (mktime, not_equal_tm, print_tm, check_result,
56723         main): Use prototypes.  Use const * where appropriate.
56724         (main): Fix typo in testing code that uncovered by above changes.
56725         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
56726
56727 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56728
56729         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
56730         locale.h, localeconv.  This merges changes from coreutils.
56731
56732         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
56733         It can be removed after the next Autoconf is released.
56734         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
56735         needed.
56736
56737 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56738
56739         * lib/mktime.c: Fix Debian bug 177940
56740         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
56741         (localtime_offset): Now long int, not time_t, because we want it
56742         to be guaranteed to be signed.  All uses changed.
56743         (__mktime_internal): If overflow would occur when adding offset,
56744         don't add it.
56745
56746         Merge 'human' changes from coreutils.  Rewrite to support
56747         locale-specific notations like thousands separators.
56748         * lib/human.c: Simplify authorship notice.
56749         Include human.h immediately after config.h.
56750         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
56751         <limits.h>: Do not include, since human.h does.
56752         (SIZE_MAX, UINTMAX_MAX): New macros.
56753         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
56754         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
56755         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
56756         (power_letter): Renamed from suffixes.
56757         (generate_suffix_backwards): Remove.
56758         (adjust_value): Now takes int style (because of human.h changes)
56759         and long double value (for greater precision on some platforms).
56760         (group_number): New function.
56761         (human_readable): Use it.  Use integer options, not enum.
56762         Put the options before the sizes in the arg list.
56763         Support all the new options.
56764         The old human_readable function has been removed;
56765         use inttostr.h instead.
56766         (human_readable, default_block_size, humblock):
56767         Use uintmax_t, not int, for block sizes.
56768         (human_readable_inexact, block_size_types): Remove.
56769         (block_size_opts): New constant.
56770         (human_options): Renamed from human_block_size, with new signature
56771         that allows block sizes up to UINTMAX_MAX.  All callers changed.
56772         * lib/human.h: Add copyright and authorship notice.
56773         Include <limits.h> and <stdbool.h> unconditionally.
56774         (PARAMS): Remove.  All uses removed.
56775         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
56776         (enum human_inexact_style): Remove tag; now a nameless enum.
56777         (human_floor, human_ceiling, human_round_to_even): Now have
56778         values 2, 0, 1 rather than -1, 1, 0.
56779         (human_group_digits, human_suppress_point_zero, human_autoscale,
56780         human_base_1024, human_SI, human_B): New constants.
56781         (human_readable_inexact, human_block_size): Remove.
56782         (human_readable): Size args are now uintmax_t, not int.
56783         (human_options): New decl.
56784
56785         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
56786         unnecessary now that we assume C89 or better.  This change
56787         imported from coreutils.
56788
56789         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
56790         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
56791         in the 2003-05-30 sync from glibc.
56792
56793         .h files should stand alone, but we shouldn't include <sys/types.h>
56794         if we can get away with just <stddef.h>.
56795
56796         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
56797         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
56798         rather than <sys/types.h>, as we merely need size_t.
56799         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
56800         to get size_t.
56801         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
56802         Include <stdio.h>, to get FILE.
56803         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
56804         memcasecmp.h has included <stddef.h> and all we need is size_t.
56805         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
56806         our interface, instead of including <sys/types.h>
56807
56808 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56809
56810         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
56811         now, as glibc mktime is buggy on non-glibc systems.
56812
56813 2003-06-03  Karl Berry  <karl@gnu.org>
56814
56815         * config/config.sub: update from prep.
56816
56817 2003-06-02  Paul Eggert  <eggert@twinsun.com>
56818
56819         [from coreutils]
56820         Fix some minor time-related bugs with POSIX time arguments.
56821         Some valid time stamps were being rejected (notably -1, and
56822         time stamps before 1900 on 64-bit hosts).  And some invalid
56823         time stamps were being accepted, e.g. September 31.
56824
56825         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
56826         that we can return (time_t) -1 successfully.
56827         * lib/posixtm.c: Likewise.
56828         [HAVE_STDBOOL_H]: Include <stdbool.h>.
56829         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
56830         (t): Remove static var.
56831         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
56832         of static var.  All uses changed.
56833         (year): Do not reject years before 1900; they can occur with
56834         64-bit time_t.
56835         (posix_time_parse): Do not check for out-of-range components;
56836         that is now the caller's responsibility, since our checks were
56837         only approximations.
56838         (posixtime): Use mktime to check for out-of-range components,
56839         since it knows them exactly.
56840         If mktime returns (time_t) -1, check whether an error actually occurred
56841         by invoking localtime on -1.
56842         (main) [TEST_POSIXTIME]: Check for input data errors, and report
56843         posixtime failures better.
56844         Improve the test data (in comments only).
56845
56846 2003-06-02  Karl Berry  <karl@gnu.org>
56847
56848         * config/mkinstalldirs (version): new variable.
56849         (--version): new option.
56850         (usage): improve message.
56851
56852 2003-05-30  Karl Berry  <karl@gnu.org>
56853
56854         * lib/mktime.c: update from libc.
56855
56856 2003-05-30  Bruno Haible  <bruno@clisp.org>
56857
56858         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
56859         * config/config.rpath: Upgrade to gettext-0.12.1.
56860
56861 2003-05-30  Bruno Haible  <bruno@clisp.org>
56862
56863         * m4/gettext.m4: Upgrade to gettext-0.12.1.
56864         * m4/nls.m4: New file, from gettext-0.12.1.
56865         * m4/po.m4: New file, from gettext-0.12.1.
56866         * m4/progtest.m4: Upgrade to gettext-0.12.1.
56867
56868 2003-05-30  Bruno Haible  <bruno@clisp.org>
56869
56870         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
56871         * lib/localcharset.h: Likewise.
56872         * lib/localcharset.c: Likewise.
56873
56874 2003-05-29  Karl Berry  <karl@gnu.org>
56875
56876         * config/config.rpath: update from gettext.
56877
56878 2003-05-28  Paul Eggert  <eggert@twinsun.com>
56879
56880         Assume the headers required for C89 freestanding compilers.
56881         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
56882         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
56883         * m4/human.m4 (gl_HUMAN): Likewise.
56884         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
56885         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
56886         * m4/userspec.m4 (gl_USERSPEC): Likewise.
56887         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
56888         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
56889         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
56890
56891 2003-05-28  Paul Eggert  <eggert@twinsun.com>
56892
56893         Assume the headers required for C89 freestanding compilers.
56894         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
56895         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
56896         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
56897         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
56898         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
56899         define, since <limits.h> is guaranteed to do that.
56900         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
56901         * lib/exclude.c: Include <stdbool.h> unconditionally.
56902         * lib/tempname.c: Include <stddef.h> unconditionally.
56903         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
56904         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
56905         <stddef.h> does that.
56906         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
56907         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
56908         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
56909         needed.
56910         * lib/xstrtol.c: Likewise.
56911         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
56912         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
56913
56914         * lib/addext.c (addext): Use assignment rather than cast, to avoid
56915         warnings on some platforms.
56916
56917         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
56918         arbitrarily.
56919
56920 2003-05-26  Jim Meyering  <jim@meyering.net>
56921
56922         Merge in a change from coreutils:
56923         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
56924         that is guaranteed to be `no'.  Use `no_such_member' to indicate
56925         that condition, rather than `-1' which is slightly misleading.
56926         Change the name of the cache variable to have the gl_ prefix.
56927         Prompted by a patch from Richard Dawe for DJGPP.
56928
56929 2003-05-24  Karl Berry  <karl@gnu.org>
56930
56931         * config/config.guess: update from prep.
56932
56933 2003-05-22  Karl Berry  <karl@gnu.org>
56934
56935         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
56936
56937 2003-05-20  Karl Berry  <karl@gnu.org>
56938
56939         * config/config.guess: update from prep.
56940
56941 2003-05-18  Karl Berry  <karl@gnu.org>
56942
56943         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
56944         might actually be set by the user.
56945
56946         * config/depcomp, install-sh, mdate-sh: update from automake.
56947
56948 2003-05-17  Bruno Haible  <bruno@clisp.org>
56949
56950         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
56951         invalid expansion for AC_EGREP_CPP.
56952         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
56953         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
56954         Suggested by Akim Demaille <akim@epita.fr> in
56955         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
56956
56957 2003-05-12  Jim Meyering  <jim@meyering.net>
56958
56959         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
56960         the space-padded-by-default conversion specifiers, %e, %k, %l.
56961
56962 2003-05-12  Bruno Haible  <bruno@clisp.org>
56963
56964         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
56965         the string is longer than 4 KB.
56966
56967 2003-05-11  Karl Berry  <karl@gnu.org>
56968
56969         * config/config.{guess,sub}: update from prep.
56970
56971 2003-05-09  Bruno Haible  <bruno@clisp.org>
56972
56973         * modules/error: Add m4/strerror_r.m4 to file list.
56974
56975 2003-05-03  Bruno Haible  <bruno@clisp.org>
56976
56977         Upgrade to Unicode-4.0.
56978         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
56979         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
56980         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
56981         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
56982         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
56983         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
56984         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
56985         Change width of U+E0100..U+E01EF from 1 to 0.
56986
56987 2003-04-25  Jim Meyering  <jim@meyering.net>
56988
56989         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
56990         of type size_t, not int.
56991
56992 2003-04-25  Bruno Haible  <bruno@clisp.org>
56993
56994         * lib/copy-file.c: Include <stddef.h>, for size_t.
56995
56996 2003-04-21  Paul Eggert  <eggert@twinsun.com>
56997
56998         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
56999         code which expansion is under static control.  Patch imported from
57000         Akim Demaille's patch to Bison; see
57001         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
57002
57003 2003-04-14  Bruno Haible  <bruno@clisp.org>
57004
57005         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
57006
57007 2003-04-11  Jim Meyering  <jim@meyering.net>
57008
57009         Merge changes from Coreutils.
57010
57011         2003-03-22  Jim Meyering  <jim@meyering.net>
57012
57013         * lib/strftime.c (widen): Cast alloca return value to proper type.
57014
57015         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
57016
57017         From GNU libc.
57018         * lib/strftime.c (my_strftime): Handle very large width
57019         specifications for numeric values correctly.  Improve checks for
57020         overflow.
57021
57022         2003-01-19  Jim Meyering  <jim@meyering.net>
57023
57024         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
57025         definitions.
57026         (nl_get_alt_digit) [! defined my_strftime]: Define.
57027         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
57028         _nl_get_alt_digit and _nl_get_walt_digit.
57029
57030         * lib/strftime.c (my_strftime): Merge in locale-related changes from
57031         libc. These changes have no effect outside of _LIBC.
57032
57033 2003-04-10  Bruno Haible  <bruno@clisp.org>
57034
57035         * modules/findprog: New file.
57036         * MODULES.html.sh (func_all_modules): Add it.
57037
57038 2003-04-10  Bruno Haible  <bruno@clisp.org>
57039
57040         * m4/findprog.m4: New file.
57041         * m4/eaccess.m4: New file.
57042
57043 2003-04-10  Bruno Haible  <bruno@clisp.org>
57044
57045         * lib/findprog.h: New file, from GNU gettext.
57046         * lib/findprog.c: New file, from GNU gettext.
57047
57048 2003-04-05  Jim Meyering  <jim@meyering.net>
57049
57050         Merge changes from Coreutils.
57051
57052         * lib/exclude.h (PARAMS): Remove definition and uses.
57053         * lib/exclude.c: Remove uses of `PARAMS'.
57054
57055         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
57056         Add test-cases for DOS filenames. Declare program_name.
57057         (main): Set up program_name.  Patch by Rich Dawe.
57058
57059         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
57060         error from mntctl.
57061         Use mntctl's return value to drive the entry-processing loop, since
57062         we can't rely on the value of the vmt_length member in the last
57063         entry.  On some systems doing so could result in exhausting
57064         virtual memory.  Based in part on a patch from Mike Jetzer.
57065
57066 2003-04-04  Bruno Haible  <bruno@clisp.org>
57067
57068         * modules/linebreak: New file.
57069         * MODULES.html.sh (func_all_modules): Add it.
57070
57071 2003-04-04  Bruno Haible  <bruno@clisp.org>
57072
57073         * m4/linebreak.m4: New file.
57074
57075 2003-04-04  Bruno Haible  <bruno@clisp.org>
57076
57077         * lib/linebreak.h: New file, from GNU gettext.
57078         * lib/linebreak.c: New file, from GNU gettext with slight
57079         modifications.
57080         * lib/lbrkprop.h: New file, from GNU gettext.
57081
57082 2003-04-03  Bruno Haible  <bruno@clisp.org>
57083
57084         * modules/utf8-ucs4: New file.
57085         * modules/utf16-ucs4: New file.
57086         * modules/ucs4-utf8: New file.
57087         * modules/ucs4-utf16: New file.
57088         * MODULES.html.sh (func_all_modules): Add them.
57089
57090 2003-04-03  Bruno Haible  <bruno@clisp.org>
57091
57092         * m4/utf-ucs4.m4: New file.
57093         * m4/ucs4-utf.m4: New file.
57094
57095 2003-04-03  Bruno Haible  <bruno@clisp.org>
57096
57097         * lib/utf8-ucs4.h: New file, from GNU gettext.
57098         * lib/utf16-ucs4.h: New file, from GNU gettext.
57099         * lib/ucs4-utf8.h: New file, from GNU gettext.
57100         * lib/ucs4-utf16.h: New file, from GNU gettext.
57101
57102 2003-04-02  Bruno Haible  <bruno@clisp.org>
57103
57104         * modules/binary-io: New file.
57105         * MODULES.html.sh (func_all_modules): Add it.
57106
57107 2003-04-02  Bruno Haible  <bruno@clisp.org>
57108
57109         * lib/binary-io.h: New file, from GNU gettext.
57110
57111 2003-04-01  Bruno Haible  <bruno@clisp.org>
57112
57113         * modules/pathname: New file.
57114         * MODULES.html.sh (func_all_modules): Add it.
57115
57116 2003-04-01  Bruno Haible  <bruno@clisp.org>
57117
57118         * lib/pathname.h: New file, from GNU gettext.
57119         * lib/concatpath.c: New file, from GNU gettext.
57120
57121 2003-03-30  Bruno Haible  <bruno@clisp.org>
57122
57123         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
57124
57125 2003-03-30  Bruno Haible  <bruno@clisp.org>
57126
57127         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
57128         function chown() doesn't exist.
57129
57130 2003-03-28  Bruno Haible  <bruno@clisp.org>
57131
57132         * modules/copy-file: New file.
57133         * MODULES.html.sh (func_all_modules): Add it.
57134
57135 2003-03-28  Bruno Haible  <bruno@clisp.org>
57136
57137         * m4/copy-file.m4: New file.
57138
57139 2003-03-28  Bruno Haible  <bruno@clisp.org>
57140
57141         * lib/copy-file.h: New file, from GNU gettext.
57142         * lib/copy-file.c: New file, from GNU gettext.
57143
57144 2003-03-18  Jim Meyering  <jim@meyering.net>
57145
57146         * lib/quote.c (quote_n): Fix typo in comment.
57147
57148 2003-03-18  Bruno Haible  <bruno@clisp.org>
57149
57150         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
57151         checking.
57152         * m4/onceonly_2_57.m4: Likewise.
57153
57154 2003-03-17  Bruno Haible  <bruno@clisp.org>
57155
57156         * m4/onceonly.m4: Require autoconf 2.54 or newer.
57157         (m4_quote): Remove macro.
57158         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
57159
57160 2003-03-14  Jim Meyering  <jim@meyering.net>
57161
57162         Merge changes from Coreutils.
57163         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
57164         to be const, in order to avoid warnings.
57165         (obstack_room): Likewise.
57166         (obstack_empty_p): Likewise.
57167
57168 2003-03-14  Bruno Haible  <bruno@clisp.org>
57169
57170         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
57171         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
57172
57173 2003-03-13  Paul Eggert  <eggert@twinsun.com>
57174
57175         Merge changes from Bison.
57176         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
57177         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
57178         when compiling Bison 1.875's `bitset bset = obstack_alloc
57179         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
57180         * lib/hash.c: Include <stdbool.h> unconditionally.
57181
57182 2003-03-13  Paul Eggert  <eggert@twinsun.com>
57183
57184         * m4/onceonly.m4 (m4_quote): New macro.
57185         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
57186         Quote AC_FOREACH variable-expansions properly.
57187
57188 2003-03-13  Paul Eggert  <eggert@twinsun.com>
57189
57190         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
57191
57192 2003-03-09  Paul Eggert  <eggert@twinsun.com>
57193
57194         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
57195         Reported by Bruce Becker; see:
57196         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
57197
57198 2003-03-03  Paul Eggert  <eggert@twinsun.com>
57199             Bruno Haible  <bruno@clisp.org>
57200
57201         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
57202         Reported by John Hughes, see
57203         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
57204
57205 2003-02-20  Bruno Haible  <bruno@clisp.org>
57206
57207         * MODULES.html.sh (func_all_modules): Add poll.
57208
57209 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
57210
57211         * modules/poll: New file.
57212
57213 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
57214
57215         * lib/poll_.h: New file.
57216         * lib/poll.c: New file.
57217
57218 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
57219
57220         * m4/poll.m4: New file.
57221
57222 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
57223
57224         * modules/mathl: New file.
57225
57226 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
57227
57228         * lib/mathl.h: New file.
57229         * lib/acosl.c: New file.
57230         * lib/asinl.c: New file.
57231         * lib/atanl.c: New file.
57232         * lib/ceill.c: New file.
57233         * lib/cosl.c: New file.
57234         * lib/expl.c: New file.
57235         * lib/floorl.c: New file.
57236         * lib/frexpl.c: New file.
57237         * lib/ldexpl.c: New file.
57238         * lib/logl.c: New file.
57239         * lib/sincosl.c: New file.
57240         * lib/sinl.c: New file.
57241         * lib/sqrtl.c: New file.
57242         * lib/tanl.c: New file.
57243         * lib/trigl.c: New file.
57244         * lib/trigl.h: New file.
57245
57246 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
57247
57248         * m4/mathl.m4: New file.
57249
57250 2003-02-18  Bruno Haible  <bruno@clisp.org>
57251
57252         * MODULES.html.sh (func_all_modules): Add mathl.
57253
57254 2003-02-17  Bruno Haible  <bruno@clisp.org>
57255
57256         * modules/mkdtemp: New module.
57257         * MODULES.html.sh (func_all_modules): Add it.
57258
57259 2003-02-17  Bruno Haible  <bruno@clisp.org>
57260
57261         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
57262
57263 2003-02-17  Bruno Haible  <bruno@clisp.org>
57264
57265         * lib/mkdtemp.h: New file, from GNU gettext.
57266         * lib/mkdtemp.c: New file, from GNU gettext.
57267
57268 2003-02-02  Jim Meyering  <jim@meyering.net>
57269
57270         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
57271         e.g. glibc-2.2.93.
57272
57273 2003-01-31  Bruno Haible  <bruno@clisp.org>
57274
57275         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
57276         'rpl_rename'.
57277         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
57278         'rpl_strnlen'.
57279         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
57280         'rpl_strtod'.
57281         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
57282         'rpl_utime'.
57283
57284 2003-01-31  Bruno Haible  <bruno@clisp.org>
57285
57286         * lib/rename.c: #undef rename before defining rpl_rename.
57287         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
57288
57289 2003-01-30  Bruno Haible  <bruno@clisp.org>
57290
57291         * modules/vasnprintf, modules/vasprintf: New modules.
57292         * MODULES.html.sh (func_all_modules): Add them.
57293
57294 2003-01-30  Bruno Haible  <bruno@clisp.org>
57295
57296         * m4/signed.m4: New file, from GNU gettext.
57297         * m4/longdouble.m4: New file, from GNU gettext.
57298         * m4/wchar_t.m4: New file, from GNU gettext.
57299         * m4/wint_t.m4: New file, from GNU gettext.
57300         * m4/vasnprintf.m4: New file.
57301         * m4/vasprintf.m4: New file.
57302
57303 2003-01-30  Bruno Haible  <bruno@clisp.org>
57304
57305         * lib/printf-args.h: New file, from GNU gettext.
57306         * lib/printf-args.c: New file, from GNU gettext.
57307         * lib/printf-parse.h: New file, from GNU gettext.
57308         * lib/printf-parse.c: New file, from GNU gettext.
57309         * lib/vasnprintf.h: New file, from GNU gettext.
57310         * lib/vasnprintf.c: New file, from GNU gettext.
57311         * lib/asnprintf.c: New file, from GNU gettext.
57312         * lib/vasprintf.h: New file, from GNU gettext with modifications.
57313         * lib/vasprintf.c: New file, from GNU gettext.
57314         * lib/asprintf.c: New file, from GNU gettext.
57315
57316 2003-01-29  Bruno Haible  <bruno@clisp.org>
57317
57318         * modules/stpncpy: New module.
57319         * MODULES.html.sh (func_all_modules): Add it.
57320
57321 2003-01-29  Bruno Haible  <bruno@clisp.org>
57322
57323         * m4/stpncpy.m4: New file.
57324
57325 2003-01-29  Bruno Haible  <bruno@clisp.org>
57326
57327         * lib/stpncpy.h: New file, from GNU gettext with modifications.
57328         * lib/stpncpy.c: New file, from GNU gettext with modifications.
57329
57330 2003-01-28  Bruno Haible  <bruno@clisp.org>
57331
57332         * modules/c-ctype: New module.
57333         * MODULES.html.sh (func_all_modules): Add it.
57334
57335 2003-01-28  Bruno Haible  <bruno@clisp.org>
57336
57337         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
57338         Paul Eggert.
57339         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
57340         Paul Eggert.
57341
57342 2003-01-27  Bruno Haible  <bruno@clisp.org>
57343
57344         * modules/xsetenv: New module.
57345         * MODULES.html.sh (func_all_modules): Add it.
57346
57347 2003-01-27  Bruno Haible  <bruno@clisp.org>
57348
57349         * lib/xsetenv.h: New file, from GNU gettext.
57350         * lib/xsetenv.c: New file, from GNU gettext.
57351
57352 2003-01-23  Jim Meyering  <jim@meyering.net>
57353
57354         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
57355         from working on systems without dirfd (at least Irix and OSF1/Tru64).
57356
57357 2003-01-23  Bruno Haible  <bruno@clisp.org>
57358
57359         * modules/minmax: New module.
57360         * MODULES.html.sh (func_all_modules): Add it.
57361
57362 2003-01-23  Bruno Haible  <bruno@clisp.org>
57363
57364         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
57365         Eggert.
57366
57367 2003-01-22  Bruno Haible  <bruno@clisp.org>
57368
57369         * modules/exit: New module.
57370         * MODULES.html.sh (func_all_modules): Add it.
57371
57372 2003-01-22  Bruno Haible  <bruno@clisp.org>
57373
57374         * lib/exit.h: New file, from GNU gettext.
57375
57376 2003-01-19  Bruno Haible  <bruno@clisp.org>
57377
57378         * gnulib-tool: Recognize option --extract-maintainer.
57379         (func_get_maintainer): New function.
57380         * modules/*: Add Maintainer entry.
57381
57382 2003-01-16  Jim Meyering  <jim@meyering.net>
57383
57384         * m4/regex.m4: The `regex' struct is both input and output.
57385         Initialize it before each use.  Patch by Tim Waugh.
57386
57387 2003-01-16  Bruno Haible  <bruno@clisp.org>
57388
57389         * MODULES.html.sh: Add a table of contents. Add the module name as
57390         leftmost column. Add hyperlinks.
57391
57392 2003-01-15  Bruno Haible  <bruno@clisp.org>
57393
57394         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
57395
57396 2003-01-15  Bruno Haible  <bruno@clisp.org>
57397
57398         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
57399         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
57400         suffix.
57401
57402 2003-01-15  Bruno Haible  <bruno@clisp.org>
57403
57404         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
57405
57406 2003-01-15  Bruno Haible  <bruno@clisp.org>
57407
57408         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
57409         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
57410
57411 2003-01-14  Jim Meyering  <jim@meyering.net>
57412
57413         * lib/same.c (same_name): Tweak a comment.
57414
57415 2003-01-14  Bruno Haible  <bruno@clisp.org>
57416
57417         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
57418         when a string comparison is sufficient.
57419
57420 2003-01-14  Bruno Haible  <bruno@clisp.org>
57421
57422         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
57423         'unsigned int'.
57424
57425 2003-01-14  Bruno Haible  <bruno@clisp.org>
57426
57427         * lib/hash-pjw.c: Add comment about low quality of this function.
57428
57429 2003-01-13  Bruno Haible  <bruno@clisp.org>
57430
57431         * modules/stpcpy: Distribute lib/stpcpy.h.
57432         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
57433
57434 2003-01-13  Bruno Haible  <bruno@clisp.org>
57435
57436         * modules/*: Add a description.
57437         * modules/strpbrk: Fix Makefile.am snippet.
57438         * modules/strtoimax: Fix dependencies.
57439         * modules/strtoumax: Likewise.
57440
57441 2003-01-13  Bruno Haible  <bruno@clisp.org>
57442
57443         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
57444         * modules/alloca (Makefile.am): All object files depend on alloca.h.
57445         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
57446
57447 2003-01-13  Bruno Haible  <bruno@clisp.org>
57448
57449         * gnulib-tool (func_create_testdir): Store config/* files in the main
57450         directory.
57451         * config.rpath: Move to ...
57452         * config/config.rpath: ... here.
57453         * modules/gettext: Contains config/config.rpath, not config.rpath.
57454         * modules/iconv: Likewise.
57455
57456 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57457
57458         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57459         to avoid collisions with libcurses and libreadline.
57460
57461         * m4/getstr.m4: Remove.
57462         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
57463
57464 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57465
57466         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57467         to avoid collisions with libcurses and libreadline.
57468
57469         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
57470         * lib/getstr.h, getstr.c: Remove.
57471         * lib/getline.c: Include "getline.h", to check interface.
57472         Move body of old getstr.c here: this defines MIN_CHUNK and
57473         declares getdelim2, which is renamed from getstr.
57474         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
57475
57476         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
57477         All uses changed.
57478         * lib/linebuffer.h: Likewise.
57479         (readline): Remove backward-compatibility macro.
57480
57481 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57482
57483         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57484         to avoid collisions with libcurses and libreadline.
57485         * getstr: Remove.
57486         * MODULES.html.sh: Remove getstr.
57487         * modules/getline: Depend on unlocked-io, not getstr.
57488
57489 2003-01-12  Jim Meyering  <jim@meyering.net>
57490
57491         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
57492
57493 2003-01-10  Bruno Haible  <bruno@clisp.org>
57494
57495         * modules/alloca: Change Makefile.am requirements. Simplify Include
57496         requirements. Add lib/alloca_.h to file list.
57497
57498 2003-01-10  Bruno Haible  <bruno@clisp.org>
57499
57500         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
57501
57502 2003-01-10  Bruno Haible  <bruno@clisp.org>
57503
57504         * lib/alloca_.h: New file.
57505         * lib/getdate.y: Unconditionally include alloca.h.
57506         * lib/makepath.c: Likewise.
57507         * lib/setenv.c: Likewise.
57508         * lib/userspec.c: Likewise.
57509
57510 2003-01-09  Karl Berry  <karl@gnu.org>
57511
57512         * MODULES.html.sh: include `dirname $0` in PATH, to find
57513         gnulib-tool.
57514
57515 2003-01-09  Bruno Haible  <bruno@clisp.org>
57516
57517         * modules/stdbool: Change configure.ac, Makefile.am requirements.
57518         Simplify Include requirements. Add lib/stdbool.h.in to file list.
57519
57520 2003-01-09  Bruno Haible  <bruno@clisp.org>
57521
57522         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
57523
57524 2003-01-09  Bruno Haible  <bruno@clisp.org>
57525
57526         * lib/stdbool.h.in: New file.
57527
57528 2003-01-09  Bruno Haible  <bruno@clisp.org>
57529
57530         * gnulib-tool (func_all_modules): Ignore files ending in ~.
57531         * MODULES.html.sh: Likewise.
57532
57533 2003-01-08  Jim Meyering  <jim@meyering.net>
57534
57535         * lib/full-write.c: Undefine and define-away `const' after inclusion
57536         of errno.h, not before.  Suggestion from Bruno Haible.
57537
57538 2003-01-08  Bruno Haible  <bruno@clisp.org>
57539
57540         * modules/full-read: Depend on full-write.
57541
57542 2003-01-08  Bruno Haible  <bruno@clisp.org>
57543
57544         * lib/safe-read.c: Include specification header first, to ensure its
57545         selfcontainedness.
57546         * lib/full-write.c: Likewise.
57547
57548 2003-01-07  Jim Meyering  <jim@meyering.net>
57549
57550         * lib/full-write.c: Rework so that it may serve to define full_read,
57551         too.
57552         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
57553
57554 2003-01-07  Bruno Haible  <bruno@clisp.org>
57555
57556         * lib/strtoimax.c: Include <stdint.h> as an alternative to
57557         <inttypes.h>.
57558         * lib/xstrtol.h: Likewise.
57559         * lib/xstrtoimax.c: Likewise.
57560         * lib/xstrtoumax.c: Likewise.
57561         * lib/human.h: Likewise.
57562
57563         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
57564         on systems that have <inttypes.h> but not <stdint.h>.
57565
57566 2003-01-07  Bruno Haible  <bruno@clisp.org>
57567
57568         * MODULES.html.sh: Add copyright notice.
57569         (missed_files): Omit CVS directory entries.
57570         (func_module): Make it work with sed-3.02.
57571         * MODULES.txt: Remove file.
57572
57573 2003-01-06  Jim Meyering  <jim@meyering.net>
57574
57575         * lib/version-etc.c: Update year in translatable copyright string.
57576
57577 2003-01-03  Karl Berry  <karl@gnu.org>
57578
57579         * config/config.{guess,sub}: update from prep.
57580
57581 2003-01-02  Karl Berry  <karl@gnu.org>
57582
57583         * doc/COPYING.DOC: belatedly updated to 1.2.
57584
57585 2003-01-01  Karl Berry  <karl@gnu.org>
57586
57587         * gnulib-tool (func_verify_module): report module name $module in
57588         error message, not $1.
57589         * gnulib-tool (create-testdir): don't complain if destdir couldn't
57590         be created, only if it doesn't exist.
57591         * gnulib-tool (last_checkin_date): don't expand the $Date here.
57592
57593 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57594
57595         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
57596
57597 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57598
57599         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
57600         memcmp if strcoll doesn't work.
57601
57602 2002-12-31  Bruno Haible  <bruno@clisp.org>
57603
57604         * lib/utime.c (utime_null): No need to call ftruncate if the file was
57605         nonempty.
57606
57607 2002-12-31  Bruno Haible  <bruno@clisp.org>
57608
57609         * lib/memcoll.c (STRCOLL): New macro.
57610         (memcoll): Use it.
57611
57612 2002-12-31  Bruno Haible  <bruno@clisp.org>
57613
57614         * lib/localcharset.h: New file.
57615         * lib/localcharset.c: Include it.
57616         * lib/unicodeio.c: Likewise.
57617
57618 2002-12-31  Bruno Haible  <bruno@clisp.org>
57619
57620         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
57621         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
57622
57623 2002-12-31  Bruno Haible  <bruno@clisp.org>
57624
57625         * lib/getline.h: Include <stddef.h>, for size_t.
57626
57627         * lib/unicodeio.h: Include <stddef.h>, for size_t.
57628         * lib/unicodeio.c: Don't include <stddef.h>.
57629
57630 2002-12-31  Bruno Haible  <bruno@clisp.org>
57631
57632         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
57633         HAVE_TM_ZONE.
57634
57635 2002-12-24  Karl Berry  <karl@gnu.org>
57636
57637         * config/config.guess: update from prep.
57638
57639 2002-12-24  Bruno Haible  <bruno@clisp.org>
57640
57641         General infrasructure.
57642         * m4/README: Rewritten.
57643         * m4/onceonly.m4: New file.
57644         * m4/onceonly_2_57.m4: New file.
57645
57646         Module atexit.
57647         * m4/atexit.m4: New file.
57648
57649         Module strtod.
57650         * m4/strtod.m4: New file.
57651
57652         Module strtol.
57653         * m4/strtol.m4: New file.
57654
57655         Module strtoul.
57656         * m4/strtoul.m4: New file.
57657
57658         Module memchr.
57659         * m4/memchr.m4: New file.
57660
57661         Module memcmp.
57662         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
57663         (jm_FUNC_MEMCMP): Invoke it.
57664
57665         Module memcpy.
57666         * m4/memcpy.m4: New file.
57667
57668         Module memmove.
57669         * m4/memmove.m4: New file.
57670
57671         Module memset.
57672         * m4/memset.m4: New file.
57673
57674         Module strcspn.
57675         * m4/strcspn.m4: New file.
57676
57677         Module strpbrk.
57678         * m4/strpbrk.m4: New file.
57679
57680         Module strstr.
57681         * m4/strstr.m4: New file.
57682
57683         Module strerror.
57684         * m4/strerror.m4: New file.
57685
57686         Module mktime.
57687         * m4/mktime.m4: Renamed from jm-mktime.m4.
57688         (gl_PREREQ_MKTIME): New macro.
57689         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
57690
57691         Module malloc.
57692         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
57693         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
57694         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
57695
57696         Module realloc.
57697         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
57698         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
57699         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
57700
57701         Module strftime.
57702         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
57703         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
57704         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
57705         gl_TM_GMTOFF.
57706         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
57707
57708         Module xalloc.
57709         * m4/xalloc.m4: New file.
57710
57711         Module alloca.
57712         * m4/alloca.m4: New file.
57713
57714         Module putenv.
57715         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
57716         (jm_FUNC_PUTENV): Invoke it.
57717
57718         Module setenv.
57719         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
57720         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
57721         when invoked twice.
57722         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
57723         gt_FUNC_SETENV.
57724
57725         Module memrchr.
57726         * m4/memrchr.m4: New file.
57727
57728         Module stpcpy.
57729         * m4/stpcpy.m4: New file.
57730
57731         Module strcase.
57732         * m4/strcase.m4: New file.
57733
57734         Module strdup.
57735         * m4/strdup.m4: New file.
57736
57737         Module strnlen.
57738         * m4/strnlen.m4: New file.
57739
57740         Module strndup.
57741         * m4/strndup.m4: New file.
57742
57743         Module xstrtod.
57744         * m4/xstrtod.m4: New file.
57745
57746         Module xstrtol.
57747         * m4/xstrtol.m4: New file.
57748
57749         Module getdate.
57750         * m4/getdate.m4: New file.
57751
57752         Module unlocked-io.
57753         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
57754         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
57755         * m4/jm-glibc-io.m4n: Remove file.
57756
57757         Module long-options.
57758         * m4/long-options.m4: New file.
57759
57760         Module md5.
57761         * m4/md5.m4: New file.
57762
57763         Module sha.
57764         * m4/sha.m4: New file.
57765
57766         Module getstr.
57767         * m4/getstr.m4: New file.
57768
57769         Module getline.
57770         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
57771         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
57772         <sys/types.h>, for size_t. Use the function name gnu_getline, not
57773         simply getline. Infoke gl_PREREQ_GETLINE.
57774
57775         Module obstack.
57776         * m4/obstack.m4: New file.
57777
57778         Module hash.
57779         * m4/hash.m4: New file.
57780
57781         Module readtokens.
57782         * m4/readtokens.m4: New file.
57783
57784         Module strverscmp.
57785         * m4/strverscmp.m4: New file.
57786
57787         Module stdbool.
57788         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
57789         OSF/1.
57790
57791         Module strtoll.
57792         * m4/strtoll.m4: New file.
57793
57794         Module strtoull.
57795         * m4/strtoull.m4: New file.
57796
57797         Module strtoimax.
57798         * m4/strtoimax.m4: New file.
57799
57800         Module strtoumax.
57801         * m4/strtoumax.m4: New file.
57802
57803         Module xstrtoimax.
57804         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
57805         jm_AC_PREREQ_XSTRTOIMAX.
57806         Moved the strtol prerequisites to strtol.m4.
57807         Moved the strtoll prerequisites to strtoll.m4.
57808         Moved the strtoimax prerequisites to strtoimax.m4.
57809
57810         Module xstrtoumax.
57811         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
57812         jm_AC_PREREQ_XSTRTOUMAX.
57813         Moved the strtoul prerequisites to strtoul.m4.
57814         Moved the strtoull prerequisites to strtoull.m4.
57815         Moved the strtoumax prerequisites to strtoumax.m4.
57816
57817         Module chown.
57818         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
57819         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
57820
57821         Module dup2.
57822         * m4/dup2.m4: New file.
57823
57824         Module ftruncate.
57825         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
57826         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
57827
57828         Module getgroups.
57829         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
57830         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
57831
57832         Module gettimeofday.
57833         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
57834         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
57835         gl_PREREQ_GETTIMEOFDAY.
57836
57837         Module mkdir.
57838         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
57839         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
57840
57841         Module mkstemp.
57842         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
57843         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
57844         jm_AC_TYPE_UINTMAX_T.
57845         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
57846
57847         Module stat.
57848         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
57849         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
57850
57851         Module lstat.
57852         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
57853         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
57854
57855         Module timespec.
57856         * m4/timespec.m4 (gl_TIMESPEC): New macro.
57857         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
57858         * m4/st_mtim.m4: Indentation.
57859
57860         Module nanosleep.
57861         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
57862         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
57863         gl_PREREQ_NANOSLEEP.
57864
57865         Module regex.
57866         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
57867         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
57868         (gl_REGEX): New macro.
57869
57870         Module rename.
57871         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
57872         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
57873
57874         Module rmdir.
57875         * m4/rmdir.m4: New file.
57876
57877         Module utime.
57878         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
57879         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
57880         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
57881
57882         Module dirname.
57883         * m4/dirname.m4: New file.
57884
57885         Module getopt.
57886         * m4/getopt.m4: New file.
57887
57888         Module unistd-safer.
57889         * m4/unistd-safer.m4: New file.
57890
57891         Module fnmatch.
57892         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
57893         declaration.
57894         (gl_PREREQ_FNMATCH_EXTRA): New macro.
57895         (gl_FUNC_FNMATCH_POSIX): New macro.
57896         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
57897         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
57898         simply fnmatch.
57899
57900         Module exclude.
57901         * m4/exclude.m4: New file.
57902
57903         Module human.
57904         * m4/human.m4: New file.
57905
57906         Module acl.
57907         * m4/acl.m4: Nop.
57908
57909         Module backupfile.
57910         * m4/backupfile.m4: New file.
57911         * m4/d-ino.m4: Indentation.
57912
57913         Module fsusage.
57914         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
57915         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
57916         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
57917
57918         Module dirfd.
57919         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
57920         requirements.
57921
57922         Module euidaccess.
57923         * m4/euidaccess.m4: New file.
57924
57925         Module file-type.
57926         * m4/file-type.m4: New file.
57927
57928         Module fileblocks.
57929         * m4/fileblocks.m4: New file.
57930
57931         Module filemode.
57932         * m4/filemode.m4: New file.
57933
57934         Module isdir.
57935         * m4/isdir.m4: New file.
57936
57937         Module lchown.
57938         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
57939         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
57940
57941         Module makepath.
57942         * m4/makepath.m4: New file.
57943
57944         Module modechange.
57945         * m4/modechange.m4: New file.
57946
57947         Module mountlist.
57948         * m4/mountlist.m4: New file.
57949         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
57950         Indentation.
57951
57952         Module path-concat.
57953         * m4/path-concat.m4: New file.
57954
57955         Module pathmax.
57956         * m4/pathmax.m4: New file.
57957
57958         Module same.
57959         * m4/same.m4: New file.
57960
57961         Module save-cwd.
57962         * m4/save-cwd.m4: New file.
57963
57964         Module savedir.
57965         * m4/savedir.m4: New file.
57966
57967         Module xgetcwd.
57968         * m4/xgetcwd.m4: New file.
57969         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
57970
57971         Module xreadlink.
57972         * m4/xreadlink.m4: New file.
57973
57974         Module safe-read.
57975         * m4/safe-read.m4: New file.
57976
57977         Module safe-write.
57978         * m4/safe-write.m4: New file.
57979
57980         Module closeout.
57981         * m4/closeout.m4: New file.
57982
57983         Module stdio-safer.
57984         * m4/stdio-safer.m4: New file.
57985
57986         Module getpass.
57987         * m4/getpass.m4: New file.
57988
57989         Module getugroups.
57990         * m4/getugroups.m4: New file.
57991
57992         Module group-member.
57993         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
57994         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
57995
57996         Module idcache.
57997         * m4/idcache.m4: New file.
57998
57999         Module userspec.
58000         * m4/userspec.m4: New file.
58001
58002         Module gettime.
58003         * m4/clock_time.m4: New file.
58004         * m4/gettime.m4: New file.
58005
58006         Module settime.
58007         * m4/settime.m4: New file.
58008
58009         Module posixtm.
58010         * m4/posixtm.m4: New file.
58011
58012         Module gethostname.
58013         * m4/gethostname.m4: New file.
58014
58015         Module canon-host.
58016         * m4/canon-host.m4: New file.
58017
58018         Module gettext.
58019         * m4/codeset.m4: New file, from gettext-0.11.5.
58020         * m4/gettext.m4: New file, from gettext-0.11.5.
58021         * m4/glibc21.m4: New file, from gettext-0.11.5.
58022         * m4/iconv.m4: New file, from gettext-0.11.5.
58023         * m4/intdiv0.m4: New file, from gettext-0.11.5.
58024         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
58025         * m4/inttypes.m4: New file, from gettext-0.11.5.
58026         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
58027         * m4/isc-posix.m4: New file, from gettext-0.11.5.
58028         * m4/lcmessage.m4: New file, from gettext-0.11.5.
58029         * m4/lib-ld.m4: New file, from gettext-0.11.5.
58030         * m4/lib-link.m4: New file, from gettext-0.11.5.
58031         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
58032         * m4/progtest.m4: New file, from gettext-0.11.5.
58033         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
58034         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
58035         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
58036
58037         Module localcharset.
58038         * m4/localcharset.m4: New file.
58039
58040         Module hard-locale.
58041         * m4/hard-locale.m4: New file.
58042
58043         Module mbswidth.
58044         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
58045         onceonly macros.
58046         * m4/mbrtowc.m4: Add comment.
58047
58048         Module memcasecmp.
58049         * m4/memcasecmp.m4: New file.
58050
58051         Module memcoll.
58052         * m4/memcoll.m4: New file.
58053
58054         Module unicodeio.
58055         * m4/unicodeio.m4: New file.
58056
58057         Module rpmatch.
58058         * m4/rpmatch.m4: New file.
58059
58060         Module yesno.
58061         * m4/yesno.m4: New file.
58062
58063         Module exitfail.
58064         * m4/exitfail.m4: New file.
58065
58066         Module c-stack.
58067         * m4/c-stack.m4 (gl_C_STACK): New macro.
58068         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
58069
58070         Module error.
58071         * m4/error.m4 (gl_ERROR): New macro.
58072         (jm_PREREQ_ERROR): Use onceonly macros.
58073
58074         Module fatal.
58075         * m4/fatal.m4: New file.
58076
58077         Module getloadavg.
58078         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
58079         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
58080
58081         Module getpagesize.
58082         * m4/getpagesize.m4: New file.
58083
58084         Module getusershell.
58085         * m4/getusershell.m4: New file.
58086
58087         Module physmem.
58088         * m4/physmem.m4: New file.
58089
58090         Module posixver.
58091         * m4/posixver.m4: New file.
58092
58093         Module quotearg.
58094         * m4/quotearg.m4: New file.
58095
58096         Module quote.
58097         * m4/quote.m4: New file.
58098
58099         Module readutmp.
58100         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
58101
58102         Module sig2str.
58103         * m4/sig2str.m4: New file.
58104
58105         Other.
58106         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
58107         ulonglong.m4.
58108         * m4/intmax_t.m4: New file.
58109         * m4/d-type.m4: Indentation.
58110         * m4/jm-macros.m4: Update.
58111         * m4/prereq.m4 (jm_PREREQ): Update.
58112         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
58113         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
58114         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
58115         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
58116         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
58117         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
58118         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
58119         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
58120         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
58121         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
58122         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
58123         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
58124         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
58125         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
58126         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
58127         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
58128         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
58129         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
58130         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
58131
58132 2002-12-24  Bruno Haible  <bruno@clisp.org>
58133
58134         * MODULES.txt: Update according to m4/ changes.
58135
58136         Module gettext.
58137         * config.rpath: New file, from gettext-0.11.5.
58138
58139         * modules/*: New module descriptions.
58140         * gnulib-tool: New file.
58141         * MODULES.html.sh: New file.
58142
58143 2002-12-21  Karl Berry  <karl@gnu.org>
58144
58145         * doc/fdl.texi: update to version 1.2.
58146
58147 2002-12-19  Karl Berry  <karl@gnu.org>
58148
58149         * config/config.guess: update from prep.
58150
58151 2002-12-18  Bruno Haible  <bruno@clisp.org>
58152
58153         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
58154         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
58155
58156 2002-12-17  Bruno Haible  <bruno@clisp.org>
58157
58158         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
58159         stdlib.h, string.h.
58160
58161 2002-12-17  Bruno Haible  <bruno@clisp.org>
58162
58163         * lib/canon-host.c (strdup): Remove unused declaration.
58164
58165         * lib/fsusage.c: Include full_read.h.
58166         (get_fs_usage): Use full_read instead of safe_read.
58167
58168         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
58169
58170 2002-12-12  Karl Berry  <karl@gnu.org>
58171
58172         * config/config.guess: update from prep.
58173
58174 2002-12-11  Bruno Haible  <bruno@clisp.org>
58175
58176         * m4/setenv.m4: New file, from gettext-0.11.5.
58177
58178 2002-12-11  Bruno Haible  <bruno@clisp.org>
58179
58180         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
58181         not unsetenv().
58182         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
58183         modifications:
58184
58185         2002-12-11  Bruno Haible  <bruno@clisp.org>
58186
58187                 * setenv.c (alloca): Fall back to malloc.
58188                 (freea): New macro.
58189                 (setenv): Use freea() to free memory allocated with alloca().
58190
58191         2002-11-13  Bruno Haible  <bruno@clisp.org>
58192
58193                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
58194                 function declarations.
58195                 * unsetenv.c (unsetenv): Likewise.
58196
58197         2002-03-04  Bruno Haible  <bruno@clisp.org>
58198
58199                 Portability to AIX 4.3.3.
58200                 * unsetenv.c: New file, extracted from setenv.c.
58201                 * setenv.c: Move the unsetenv() function to unsetenv.c.
58202
58203         2001-12-20  Bruno Haible  <bruno@clisp.org>
58204
58205                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
58206                 use malloc instead. For SunOS 4.
58207
58208         2001-12-11  Bruno Haible  <bruno@clisp.org>
58209
58210                 * setenv.c: Declare alloca.
58211                 (compar_fn_t): New typedef.
58212                 (KNOWN_VALUE, STORE_VALUE): Use it.
58213
58214         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
58215         setenv.h.
58216
58217 2002-12-10  Paul Eggert  <eggert@twinsun.com>
58218
58219         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
58220         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
58221         Choose values that are less likely to collide with system fnmatch
58222         options.
58223         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
58224         defined (e.g., a pure POSIX system).
58225         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
58226         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
58227
58228 2002-12-06  Paul Eggert  <eggert@twinsun.com>
58229
58230         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
58231         a pain in practice to deal with generated m4 files.  This change
58232         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
58233
58234         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
58235         and jm-glibc-io.m4, as they are no longer a special case.
58236         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
58237         kludge and the auto-generation stuff.  Check only whether the
58238         functions are declared, not whether they exist, since older hosts
58239         that don't declare the functions can't use the optimization anyway.
58240
58241 2002-12-06  Jim Meyering  <jim@meyering.net>
58242
58243         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
58244
58245         Merge in changes from libc's misc/error.c, in preparation
58246         for the merge of gnulib's changes back into libc.
58247
58248         * lib/error.c (_): Define only if not already defined.
58249         Move definition to follow all #include directives.
58250         Include unlocked-io.h only if !_LIBC.
58251         [_LIBC]: Include <libio/libioP.h>.
58252         [USE_IN_LIBIO]: Include <libio/iolibio.h>
58253         (fflush): Tweak definition to use INTUSE.
58254         (putc): Define.
58255
58256 2002-12-05  Paul Eggert  <eggert@twinsun.com>
58257
58258         * lib/alloca.c [defined emacs]: Include "lisp.h".
58259         (xalloc_die) [defined emacs]: New macro.
58260         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
58261         [! defined emacs]: Include <xalloc.h>.
58262         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
58263         (pointer): Typedef to POINTER_TYPE *.
58264         (malloc): Remove decl; we now always use xmalloc.
58265         (alloca): Use old-style definition, since Emacs needs this.
58266         Check for arithmetic overflow when computing combined size.
58267
58268 2002-12-04  Paul Eggert  <eggert@twinsun.com>
58269
58270         Do not generate unlocked-io.h automatically, since it's easier to
58271         maintain it by hand.
58272
58273         * lib/unlocked-io.h: New file, from GNU diffutils,
58274         but with proper copyright notice and attribution.
58275         * lib/gen-uio: Remove.
58276         * lib/Makefile.am: Add copyright notice.
58277         (libfetish_a_SOURCES): Add unlocked-io.h.
58278         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
58279         (DISTCLEANFILES, io_functions): Remove macros.
58280         (EXTRA_DIST): Remove gen_uio.
58281         (unlocked-io.h): Remove rule.
58282
58283 2002-12-04  Jim Meyering  <jim@meyering.net>
58284
58285         Reflect the fact that stat.c and lstat.c are no longer generated.
58286         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
58287         (DISTCLEANFILES): Likewise.
58288         (EXTRA_DIST): Likewise.
58289         (all_local): Don't depend on stat.c or lstat.c.
58290         (stat.c, lstat.c): Remove rules.
58291         (EXTRA_DIST): Remove xstat.in.
58292
58293         * lib/xstat.in: Remove file.  Contents moved into stat.c.
58294         * lib/stat.c: New file.  Contents mostly from xstat.in.
58295         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
58296         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
58297
58298         * lib/safe-read.c: Rework so that it may serve to define safe_write,
58299         too.
58300         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
58301
58302 2002-12-03  Jim Meyering  <jim@meyering.net>
58303
58304         * lib/safe-read.c, safe-write.c: Change variable names and comments,
58305         but not semantics, to minimize the differences between these two files.
58306         (safe_read): Change comment to mention SAFE_READ_ERROR.
58307
58308         * lib/safe-read.c (IS_EINTR): Define.
58309         (safe_read): Use IS_EINTR in place of in-function cpp directives.
58310
58311 2002-12-02  Jim Meyering  <jim@meyering.net>
58312
58313         * lib/safe-read.c (EINTR): Define.
58314         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
58315         (INT_MAX): Provide fallback.
58316         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
58317
58318         * lib/safe-read.h (SAFE_READ_ERROR): Define.
58319
58320 2002-12-02  Bruno Haible  <bruno@clisp.org>
58321
58322         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
58323         Define, taken from safe-read.c.
58324         (INT_MAX): Provide fallback.
58325         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
58326         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
58327
58328         * lib/safe-read.c (EINTR): Remove definition.
58329         (safe_read): Don't use EINTR if it is absent.
58330
58331 2002-12-01  Jim Meyering  <jim@meyering.net>
58332
58333         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
58334         zero.
58335         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
58336
58337 2002-11-27  Paul Eggert  <eggert@twinsun.com>
58338
58339         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
58340         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
58341         with `if (! (value < limit)) abort ();', for readability.
58342
58343 2002-11-26  Karl Berry  <karl@gnu.org>
58344
58345         * lib/strdup.c: copy from libc again, with jim's ok.
58346         * lib/.cppi-disable: re-add strdup.c
58347
58348 2002-11-25  Karl Berry  <karl@gnu.org>
58349
58350         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
58351         instead of "strtol.c".
58352
58353 2002-11-25  Karl Berry  <karl@gnu.org>
58354
58355         * config/install-sh: update from automake for variable quoting, $0 in
58356         error msgs, etc.
58357
58358         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
58359         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
58360         entry.
58361
58362 2002-11-25  Jim Meyering  <jim@meyering.net>
58363
58364         * lib/mktime.c: Sync from libc, now that it has the latest fix.
58365
58366 2002-11-24  Karl Berry  <karl@gnu.org>
58367
58368         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
58369         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
58370
58371 2002-11-24  Jim Meyering  <jim@meyering.net>
58372
58373         Update from coreutils:
58374
58375         * lib/mktime.c: Merge in changes from libc.
58376
58377         Avoid a link-time failure on some Linux systems.
58378         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
58379         (otherwise).
58380         (__mon_yday): Declare with the STATIC attribute.
58381         (__mktime_internal): Likewise.
58382         Based on a report from Greg Schafer.
58383
58384 2002-11-23  Jim Meyering  <jim@meyering.net>
58385
58386         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
58387         Use `unsigned', not `int', as type of index.
58388
58389         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
58390
58391         * lib/fsusage.c: Remove unneeded parentheses around operands of
58392         `defined'.
58393
58394 2002-11-22  Paul Eggert  <eggert@twinsun.com>
58395
58396         * lib/quotearg.h: Allow multiple inclusion by surrounding with
58397         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
58398         so that we can be included first.
58399         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
58400         * lib/quotearg.c: Include quotearg.h immediately after config.h.
58401         No need to include stddef.h or sys/types.h any more.
58402         Surround local include files with "", not "<>".
58403         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
58404         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
58405         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
58406         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
58407         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
58408         (ISPRINT): Remove; no longer needed now that we assume C89.
58409
58410         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
58411         Preserve errno.
58412
58413         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
58414         quotearg_char): Use SIZE_MAX rather than
58415         (size_t) -1 when we are talking about "infinity".
58416
58417         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
58418
58419 2002-11-22  Paul Eggert  <eggert@twinsun.com>
58420
58421         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
58422         hint that one should use `if (! x) abort ();' rather than `assert
58423         (x);', and anyway it's one less thing to worry about configuring.
58424         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
58425         hash_rehash, hash_insert): Use abort rather than assert.
58426
58427 2002-11-22  Bruno Haible  <bruno@clisp.org>
58428
58429         * lib/safe-read.h: Assume C89. Add comments.
58430         (safe_read): Change return type to size_t.
58431         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
58432         byte counts > SSIZE_MAX correctly.
58433         * lib/safe-write.h: New file.
58434         * lib/safe-write.c: New file.
58435         * lib/full-read.h: New file.
58436         * lib/full-read.c: New file.
58437         * lib/full-write.h: Assume C89. Add comments.
58438         * lib/full-write.c: Include safe-write.h.
58439         (full_write): Rewritten to use safe_write.
58440         Suggested by Jim Meyering and Paul Eggert.
58441
58442 2002-11-21  Jim Meyering  <jim@meyering.net>
58443
58444         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
58445
58446         Merge in changes from the coreutils.
58447
58448         2002-09-25  Paul Eggert  <eggert@twinsun.com>
58449         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
58450         <stdint.h>.
58451         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
58452         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
58453         int.  Work more efficiently if X is the same width as uintmax_t.
58454         Do not compare X to -1, to avoid bogus compiler warning.
58455         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
58456         Don't assume that f_frsize and f_bsize are the same type.
58457
58458         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
58459         warning on FreeBSD.
58460
58461         * lib/makepath.c (make_path): Restore umask *before* creating the final
58462         component.
58463         (make_path): Minor reformatting.
58464
58465         * lib/xmalloc.c: Adjust to work with new autoconf macros,
58466         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
58467         HAVE_MALLOC/HAVE_REALLOC.
58468
58469         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
58470         dummy ones.  At least on GNU/Linux systems, `auto' means something
58471         else.
58472         From Michael Stone.
58473
58474 2002-11-21  Bruno Haible  <bruno@clisp.org>
58475
58476         Remove case insensitive option matching.
58477         * lib/argmatch.h (argcasematch): Remove declaration.
58478         (ARGCASEMATCH): Remove macro.
58479         (__xargmatch_internal): Remove case_sensitive argument.
58480         (XARGMATCH): Update.
58481         (XARGCASEMATCH): Remove macro.
58482         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
58483         case_sensitive argument.
58484         (argcasematch): Remove function.
58485         (__xargmatch_internal): Remove case_sensitive argument.
58486         (main): Use XARGMATCH instead of XARGCASEMATCH.
58487
58488         * lib/xmalloc.c: Change compile-time error message. Add comment about
58489         required autoconf version.
58490
58491 2002-11-20  Paul Eggert  <eggert@twinsun.com>
58492
58493         Merge argmatch cleanups from Bison.  Assume C89.
58494
58495         * lib/argmatch.c: Include config.h here, not in argmatch.h.
58496         Include stdlib.h, for EXIT_FAILURE.
58497         Always include <string.h>, since we assume C89.
58498         (EXIT_FAILURE): Remove pre-C89 bug workaround.
58499         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
58500         Include <stddef.h> instead, since it's all we need for size_t.
58501         (PARAMS): Remove.  All uses removed.
58502         (ARRAY_CARDINALITY): Do not bother to #undef.
58503         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
58504         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58505         Remove unnecessary parentheses.
58506         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58507         Insert necessary parentheses.
58508         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
58509         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
58510
58511 2002-11-19  Bruno Haible  <bruno@clisp.org>
58512
58513         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
58514         * lib/mbswidth.h: Include <stddef.h>, for size_t.
58515
58516         * lib/mbswidth.h (PARAMS): Remove macro.
58517         (mbswidth, mbsnwidth): Use ANSI C function declarations.
58518         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
58519
58520         * lib/gcd.h (PARAMS): Remove macro.
58521         (gcd): Use ANSI C function declarations.
58522         * lib/gcd.c (gcd): Likewise.
58523
58524 2002-11-15  Bruno Haible  <bruno@clisp.org>
58525
58526         * lib/strcspn.c: Include <stddef.h>.
58527         (strcspn): Use ANSI C function declaration. Change return type to
58528         size_t. Use NULL.
58529         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
58530         (strpbrk): Use NULL.
58531         * lib/strpbrk.h (PARAMS): Remove macro.
58532         (strpbrk): Use ANSI C function declaration.
58533         * lib/strstr.c: Don't include <sys/types.h>.
58534         * lib/strstr.h (PARAMS): Remove macro.
58535         (strstr): Use ANSI C function declarations.
58536
58537 2002-11-14  Karl Berry  <karl@gnu.org>
58538
58539         * config/mkinstalldirs: `do' on separate line, instead of
58540         `for var; do'.
58541
58542 2002-11-06  Bruno Haible  <bruno@clisp.org>
58543
58544         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
58545         * lib/gcd.c (gcd): Likewise.
58546
58547 2002-11-05  Bruno Haible  <bruno@clisp.org>
58548
58549         * lib/gcd.h: New file, from gettext-0.11.5.
58550         * lib/gcd.c: New file, from gettext-0.11.5.
58551
58552 2002-11-05  Bruno Haible  <bruno@clisp.org>
58553
58554         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58555         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58556         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58557         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58558
58559         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
58560         <libintl.h>.
58561         * lib/makepath.c: Include gettext.h instead of <locale.h> and
58562         <libintl.h>.
58563
58564         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
58565         * lib/human.c: Include gettext.h instead of <libintl.h>.
58566         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
58567         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
58568         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
58569         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
58570         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
58571         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
58572         (textdomain): Remove definition.
58573         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
58574
58575         * lib/long-options.c: Remove include of <libintl.h> and definition of
58576         _.
58577         * lib/same.c: Remove include of <libintl.h> and definition of _.
58578
58579 2002-11-04  Owen Taylor  <otaylor@redhat.com>
58580
58581         * lib/config.charset: A few additions for Solaris.
58582
58583 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58584
58585         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
58586         * lib/localcharset.c (locale_charset): Declare as extern "C".
58587
58588 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58589
58590         * lib/config.charset: msdos in uk_UA uses CP1125.
58591
58592 2002-11-04  Bruno Haible  <bruno@clisp.org>
58593
58594         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
58595         * lib/strcase.h: New file, from GNU gettext-0.11.5.
58596         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
58597         * lib/strstr.h: New file, from GNU gettext-0.11.5.
58598         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
58599
58600 2002-11-04  Bruno Haible  <bruno@clisp.org>
58601
58602         * lib/localcharset.c (locale_charset): Don't return an empty string.
58603
58604 2002-11-04  Bruno Haible  <bruno@clisp.org>
58605
58606         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
58607         aliases.
58608
58609 2002-11-04  Bruno Haible  <bruno@clisp.org>
58610
58611         * lib/config.charset: Update for newest glibc. Add canonical names
58612         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
58613
58614 2002-11-04  Bruno Haible  <bruno@clisp.org>
58615
58616         * lib/config.charset: Add support for NetBSD.
58617
58618 2002-11-04  Bruno Haible  <bruno@clisp.org>
58619
58620         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
58621
58622 2002-11-01  Bruno Haible  <bruno@clisp.org>
58623
58624         * configure.in: Add AC_CONFIG_AUX_DIR call.
58625         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
58626         test/Makefile.
58627         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
58628
58629 2002-09-28  Karl Berry  <karl@gnu.org>
58630
58631         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
58632         installed automake until the next release, since changes have been
58633         made.
58634
58635 2002-09-25  Karl Berry  <karl@gnu.org>
58636
58637         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
58638         * lib/getopt*: copy from libc/posix.
58639         * lib/gettext.h: copy from gettext.
58640         * lib/.cppi-disable: add strdup.c, gettext.h.
58641
58642 2002-09-25  Karl Berry  <karl@gnu.org>
58643
58644         * config/srclist.txt: enable gettext.h check.
58645         * config/config.{guess,sub}: update from prep.
58646         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
58647                 from automake 1.6.3.
58648         See srclist*.
58649
58650 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
58651
58652         * regex.c (PATFETCH): Remove the translating fetch.
58653         (PATFETCH_RAW): Rename to PATFETCH.
58654         (set_image_of_range): New fun.
58655         (SET_RANGE_TABLE_WORK_AREA): Use it.
58656         (regex_compile): Don't translate the pattern chars so eagerly.
58657         Only do it when inserting an `exactn' bytecode or when handling
58658         a char-range.
58659         (mutually_exclusive_p): Avoid empty statement.
58660
58661 2002-07-06  Jim Meyering  <meyering@lucent.com>
58662
58663         * m4/README: Don't mention Makefile.am.in.
58664         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
58665
58666 2002-07-01  Jim Meyering  <meyering@lucent.com>
58667
58668         * lib/c-stack.c: Include sys/time.h.
58669         From Volker Borchert.
58670
58671 2002-06-26  Paul Eggert  <eggert@twinsun.com>
58672
58673         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
58674
58675 2002-06-26  Paul Eggert  <eggert@twinsun.com>
58676
58677         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
58678         New macro.  Use it uniformly instead of
58679         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
58680         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
58681         reported by Vin Shelton.
58682
58683 2002-06-22  Paul Eggert  <eggert@twinsun.com>
58684
58685         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
58686         Do not assume SA_SIGINFO behavior.
58687         Bug reported by Jim Meyering on NetBSD 1.5.2.
58688
58689 2002-06-22  Jim Meyering  <meyering@lucent.com>
58690
58691         * m4/c-stack.m4: New file, from diffutils-2.8.2.
58692         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
58693
58694         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
58695         now that configure.ac uses AC_GNU_SOURCE.
58696         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
58697         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
58698
58699         Update to latest tools.  Suggestions from Paul Eggert.
58700         * m4/stdbool.m4: New file, from diffutils-2.8.2.
58701         * m4/gnu-source.m4: Update from diffutils-2.8.2.
58702         * m4/fnmatch.m4: Likewise.
58703         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
58704         to AC_HEADER_STDBOOL
58705
58706 2002-06-22  Jim Meyering  <meyering@lucent.com>
58707
58708         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
58709         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
58710
58711 2002-06-22  Jim Meyering  <meyering@lucent.com>
58712
58713         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
58714
58715         * lib/exitfail.c, exitfail.h: Likewise.
58716         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
58717
58718         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
58719         of fnmatch.h.
58720         (EXTRA_DIST): Add fnmatch_loop.c.
58721         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
58722
58723         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
58724         * lib/fnmatch.c: Update from diffutils-2.8.2.
58725         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
58726         * lib/fnmatch.h: Remove file.
58727
58728 2002-06-21  Jim Meyering  <meyering@lucent.com>
58729
58730         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
58731         * m4/mbrtowc.m4: Likewise.
58732
58733         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
58734         * m4/mbswidth.m4: Reflect name change:
58735         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
58736         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
58737
58738         * m4/lib-link.m4: Update from gettext-0.11.2.
58739         * m4/gettext.m4: Likewise.
58740
58741         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
58742         From Alfred M. Szmidt.
58743
58744 2002-06-18  Paul Eggert  <eggert@twinsun.com>
58745
58746         * lib/file-type.h: Report an error if neither S_ISREG nor
58747         S_IFREG is defined, instead of using a test specific to glibc
58748         2.2.  This should be safe, since POSIX requires S_ISREG and
58749         Unix Version 7 had S_IFREG.  We don't need to check for
58750         <sys/types.h> since we don't use any symbols that it defines.
58751
58752 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
58753
58754         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
58755         $@-t, so that each temporary file name is unique and valid in the first
58756         8 characters, for operation under DOS.
58757
58758 2002-06-15  Paul Eggert  <eggert@twinsun.com>
58759
58760         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
58761
58762 2002-06-15  Jim Meyering  <meyering@lucent.com>
58763
58764         Work even with DJGPP 2.03, which lacks support for symlinks.
58765         From Richard Dawe.
58766         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
58767         is defined.
58768         * lib/lchown.c (S_ISLNK): Likewise.
58769
58770 2002-06-15  Jim Meyering  <meyering@lucent.com>
58771
58772         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
58773         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
58774         have been included before this file.
58775
58776 2002-06-14  Jim Meyering  <meyering@lucent.com>
58777
58778         * lib/file-type.h: Use the version from diffutils-2.8.2.
58779         * lib/file-type.c: Likewise.
58780
58781 2002-06-07  Jim Meyering  <meyering@lucent.com>
58782
58783         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
58784         They're needed at least for NetBSD 1.5.2.
58785         ($statxfs_includes): Include those same headers.
58786         ($statxfs_includes): Include sys/vfs.h if available.
58787         ($statxfs_includes): Likewise for sys/statvfs.h.
58788         Check for the following members in both structs statfs and statvfs:
58789         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
58790
58791 2002-06-01  Jim Meyering  <meyering@lucent.com>
58792
58793         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
58794         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
58795
58796 2002-05-28  Jim Meyering  <meyering@lucent.com>
58797
58798         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
58799         Reported by Volker Borchert.
58800
58801 2002-05-27  Jim Meyering  <meyering@lucent.com>
58802
58803         Fix a problem seen only on nonconforming systems whereby ls.c's
58804         use of localtime, and then of gettimeofday would cause trouble:
58805         the localtime call used to initialize rpl_gettimeofday's save
58806         mechanism would clobber ls's current local time information so
58807         that in any long listing the first file would always be listed
58808         with date 1970-01-01.  Analysis by Volker Borchert.
58809
58810         * lib/gettimeofday.c (localtime): Undefine.
58811         (rpl_localtime): New function.
58812
58813 2002-05-27  Jim Meyering  <meyering@lucent.com>
58814
58815         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
58816         localtime.
58817
58818         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
58819         use the replacement function; it wouldn't resolve at link time.
58820         Reported by Volker Borchert.
58821
58822 2002-05-22  Jim Meyering  <meyering@lucent.com>
58823
58824         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
58825         file-type.h.
58826         * lib/file-type.h: New file.
58827         * lib/file-type.c (file_type): New file/function.  Extracted from
58828         diffutils.
58829
58830 2002-04-30  Jim Meyering  <meyering@lucent.com>
58831
58832         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
58833
58834 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58835
58836         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
58837
58838 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58839
58840         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
58841         Do not check for alloca.h (no longer used) or stdbool.h (was never
58842         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
58843
58844 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58845
58846         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
58847
58848 2002-04-29  Jim Meyering  <meyering@lucent.com>
58849
58850         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
58851         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
58852         Use AC_FUNC_STRNLEN here instead.
58853
58854         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
58855         With autoconf-2.53a, it's part of AC_PROG_CC.
58856
58857 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58858
58859         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
58860         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
58861
58862 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58863
58864         * lib/sig2str.h, lib/sig2str.c: New files.
58865         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
58866
58867 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58868
58869         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
58870         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
58871         of 127, since 64 is the largest conceivable number for ancient
58872         nonstandard hosts.
58873         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
58874
58875 2002-04-28  Jim Meyering  <meyering@lucent.com>
58876
58877         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
58878
58879 2002-04-24  Jim Meyering  <meyering@lucent.com>
58880
58881         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
58882         (jm_PREREQ): Use it.
58883
58884         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
58885         mach/mach.h fcntl.h.
58886         Check for this function: setlocale.
58887
58888 2002-04-24  Jim Meyering  <meyering@lucent.com>
58889
58890         * lib/gettext.h: New file, from Gettext.
58891         * lib/Makefile.am (INCLUDES): Remove -I../intl.
58892         (libfetish_a_SOURCES): Add gettext.h.
58893
58894 2002-04-16  Jim Meyering  <meyering@lucent.com>
58895
58896         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
58897         ut_pid, ut_id, ut_exit.
58898
58899 2002-04-16  Jim Meyering  <meyering@lucent.com>
58900
58901         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
58902         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
58903         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
58904
58905 2002-04-12  Jim Meyering  <meyering@lucent.com>
58906
58907         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
58908         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
58909         existence of the getmntinfo function.  Needed for Darwin 5.3.
58910
58911         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
58912         This is necessary at least on Darwin 5.3.
58913
58914         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
58915         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
58916         strnlen.o in the library, and that makes some versions of ranlib
58917         object.
58918
58919 2002-04-12  Jim Meyering  <meyering@lucent.com>
58920
58921         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
58922
58923 2002-04-09  Jim Meyering  <meyering@lucent.com>
58924
58925         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
58926         to be more precise.  Rather than saying we're checking whether the
58927         function `works', say what we're testing.
58928         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
58929         Reported by Bruno Haible.
58930
58931 2002-03-10  Jim Meyering  <meyering@lucent.com>
58932
58933         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
58934         Suggestion from Santiago Vila.
58935
58936 2002-03-08  Jim Meyering  <meyering@lucent.com>
58937
58938         * lib/rename.c: Mention that this wrapper is needed also on
58939         mips-dec-ultrix4.4 systems.
58940
58941 2002-03-02  Jim Meyering  <meyering@lucent.com>
58942
58943         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
58944         not HAVE_CLOCK_SETTIME.
58945
58946 2002-02-27  Paul Eggert  <eggert@twinsun.com>
58947
58948         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
58949         Check for clock_settime.
58950
58951 2002-02-27  Paul Eggert  <eggert@twinsun.com>
58952
58953         * lib/nanosleep.h: Rename to....
58954         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
58955
58956         * lib/gettime.c: New file.
58957         * lib/settime.c: New file.
58958         * lib/stime.c: Remove.
58959
58960         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
58961         timespec.h.  Remove nanosleep.h.
58962
58963 2002-02-25  Paul Eggert  <eggert@twinsun.com>
58964
58965         * m4/acl.m4: New file.
58966         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
58967         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
58968
58969 2002-02-25  Paul Eggert  <eggert@twinsun.com>
58970
58971         * lib/acl.c, lib/acl.h: New files.
58972         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
58973
58974 2002-02-24  Jim Meyering  <meyering@lucent.com>
58975
58976         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
58977         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
58978         cause trouble.  Reported by Nelson Beebe.
58979
58980 2002-02-23  Paul Eggert  <eggert@twinsun.com>
58981
58982         * lib/path-concat.c (xpath_concat): Reorder code to pacify
58983         compilers that don't know that xalloc_die never returns.
58984
58985 2002-02-20  Jim Meyering  <meyering@lucent.com>
58986
58987         * lib/getdate.c: Regenerate using bison-1.33.
58988
58989 2002-02-17  Jim Meyering  <meyering@lucent.com>
58990
58991         * config/config.guess (main): Don't use `head -1'; it's no longer
58992         portable. Use `sed 1q' instead.
58993
58994 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
58995
58996         * m4/codeset.m4: Upgrade to gettext-0.11.
58997         * m4/gettext.m4: Upgrade to gettext-0.11.
58998         * m4/glibc21.m4: Upgrade to gettext-0.11.
58999         * m4/iconv.m4: Upgrade to gettext-0.11.
59000         * m4/isc-posix.m4: Upgrade to gettext-0.11.
59001         * m4/lcmessage.m4: Upgrade to gettext-0.11.
59002         * m4/lib-ld.m4: New file, from gettext-0.11.
59003         * m4/lib-link.m4: New file, from gettext-0.11.
59004         * m4/lib-prefix.m4: New file, from gettext-0.11.
59005         * m4/progtest.m4: Upgrade to gettext-0.11.
59006
59007 2002-02-15  Paul Eggert  <eggert@twinsun.com>
59008
59009         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
59010         (jm_PREREQ): Use it.
59011
59012 2002-02-15  Paul Eggert  <eggert@twinsun.com>
59013
59014         * lib/posixver.c, lib/posixver.h: New files.
59015         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
59016
59017 2002-02-02  Paul Eggert  <eggert@twinsun.com>
59018             Bruno Haible  <bruno@clisp.org>
59019
59020         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
59021         (fwrite_success_callback): New declaration.
59022         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
59023         print_unicode_char. Call failure callback instead of error.
59024         (fwrite_success_callback): New function.
59025         (exit_failure_callback): New function.
59026         (fallback_failure_callback): New function.
59027         (print_unicode_char): Call unicode_to_mb.
59028
59029 2002-01-26  Jim Meyering  <meyering@lucent.com>
59030
59031         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
59032         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
59033
59034 2002-01-26  Jim Meyering  <meyering@lucent.com>
59035
59036         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
59037
59038 2002-01-22  Paul Eggert  <eggert@twinsun.com>
59039
59040         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
59041
59042 2002-01-22  Jim Meyering  <meyering@lucent.com>
59043
59044         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
59045         Otherwise, some versions of automake would omit the rule that makes
59046         Makefile from Makefile.in.
59047
59048 2002-01-21  Paul Eggert  <eggert@twinsun.com>
59049
59050         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
59051         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
59052         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
59053         (memcoll): Set errno to zero if there is no error.
59054
59055         * lib/quotearg.c (quotearg_buffer_restyled):
59056         Fix bug with quoting buffers containing NUL when backslashing escapes.
59057         This bug was exposed by the other changes in this patch.
59058         (quotearg_n_options): New arg ARGSIZE.
59059         All callers changed.
59060         (quoting_options_from_style): New function.
59061         (quotearg_n_style): Use it.
59062         (quotearg_n_style_mem): New function.
59063
59064         * lib/quotearg.h (quotearg_n_style_mem): New function.
59065
59066 2002-01-19  Jim Meyering  <meyering@lucent.com>
59067
59068         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
59069         Remove useless quotes: DF_PROG="df".
59070         * m4/strnlen.m4: New file.
59071
59072 2002-01-16  Paul Eggert  <eggert@twinsun.com>
59073
59074         * lib/backupfile.c (ISDIGIT): Comment fix.
59075         * lib/getdate.y (ISDIGIT): Likewise.
59076         * lib/posixtm.c (ISDIGIT, year): Likewise.
59077         * lib/strverscmp.c (ISDIGIT): Likewise.
59078         * lib/userspec.c (ISDIGIT): Likewise.
59079
59080 2002-01-16  Jim Meyering  <meyering@lucent.com>
59081
59082         * lib/getdate.y: Add three semicolons, each just before a closing
59083         brace. Bison (as of version 1.31) no longer papers over that mistake.
59084
59085 2002-01-05  Jim Meyering  <meyering@lucent.com>
59086
59087         * lib/version-etc.c (version_etc_copyright): Update copyright year.
59088
59089 2001-12-19  Paul Eggert  <eggert@twinsun.com>
59090
59091         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
59092         not silently exit merely because the output buffer happens to
59093         have nothing pending.
59094
59095 2001-12-18  Paul Eggert  <eggert@twinsun.com>
59096
59097         See the big note in ../ChangeLog.
59098         * lib/human.c (suffixes): Prefer K to k for 1024.
59099         (generate_suffix_backwards): New function.
59100         (human_readable_inexact): Use it.
59101         * lib/xstrtol.c (__xstrtol): If there is no number but there
59102         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
59103         Accept 'K' as well as 'k'.
59104
59105 2001-12-15  Jim Meyering  <meyering@lucent.com>
59106
59107         * lib/regex.h (__restrict_arr): Update from libc.
59108
59109         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
59110         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
59111         (STREQ): Define.
59112
59113 2001-12-14  Jim Meyering  <meyering@lucent.com>
59114
59115         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
59116         Suggestion from Bruno Haible.
59117
59118 2001-12-10  Jim Meyering  <meyering@lucent.com>
59119
59120         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
59121         xrealloc, Instead, include "xalloc.h".
59122         (initbuffer): Don't cast xmalloc return value to char*.
59123         (readline): Reword comment.
59124         Don't cast xrealloc return value to char*
59125         Return NULL, not 0.
59126
59127 2001-12-09  Jim Meyering  <meyering@lucent.com>
59128
59129         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
59130         about `signed and unsigned type in conditional expression'.
59131         * lib/posixtm.c (posix_time_parse): Likewise.
59132
59133         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
59134
59135         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
59136         to avoid a pedantic warning.
59137
59138         * lib/getstr.c: Don't include assert.h.
59139         (getstr): Remove warning-evoking assertions.
59140         Return -1 if offset parameter is out of bounds.
59141         Change the type of a local from int to size_t.
59142
59143         * lib/strftime.c (my_strftime_localtime_r): Include this function
59144         definition in the `#if ! HAVE_TM_GMTOFF' block.
59145
59146         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
59147         Include xalloc.h instead.
59148
59149 2001-12-02  Jim Meyering  <meyering@lucent.com>
59150
59151         * lib/tempname.c: Don't declare getenv, thus reverting the change of
59152         2001-11-18.  It's no longer necessary, now that stdlib.h is always
59153         included.
59154
59155         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
59156         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
59157
59158 2001-11-30  Akim Demaille  <akim@epita.fr>
59159
59160         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
59161         before being defined.
59162
59163 2001-11-27  Paul Eggert  <eggert@twinsun.com>
59164
59165         * lib/quotearg.h (quotearg_n, quotearg_n_style):
59166         First arg is int, not unsigned.
59167         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
59168         (SIZE_MAX, UINT_MAX): New macros.
59169         (quotearg_n_options): Abort if N is negative.
59170         Avoid overflow check on hosts where size_t is 64 bits and int
59171         is 32 bits, as overflow is impossible there.
59172         Fix off-by-one typo that caused unnecessary reallocation.
59173
59174 2001-11-27  Jim Meyering  <meyering@lucent.com>
59175
59176         * lib/tempname.c: Merge with version from libc.
59177         * lib/regex.c: Likewise.
59178
59179         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
59180         systems for which STDC_HEADERS is 0, it was not included, resulting in
59181         a warning about an integer-to-pointer conversion problem with getenv.
59182         Reported by Volker Borchert.
59183
59184 2001-11-26  Jim Meyering  <meyering@lucent.com>
59185
59186         * lib/gtod.h: Remove file.
59187         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
59188         * lib/gettimeofday.c: Don't include gtod.h.
59189         (GTOD_init): Remove function.
59190         (rpl_gettimeofday): Do its job here instead, rather than aborting.
59191         Suggestion from Volker Borchert.
59192
59193 2001-11-23  Jim Meyering  <meyering@lucent.com>
59194
59195         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
59196         it.
59197         * lib/hash.c (struct hash_table): Define it here instead.
59198
59199 2001-11-22  Jim Meyering  <meyering@lucent.com>
59200
59201         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
59202
59203 2001-11-20  Jim Meyering  <meyering@lucent.com>
59204
59205         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
59206         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
59207
59208 2001-11-19  Jim Meyering  <meyering@lucent.com>
59209
59210         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
59211         directory.  Use "conftestXXXXXX" as the template.
59212         Suggestion from Paul Eggert.
59213
59214         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
59215         immediately, so the test doesn't mistakenly hit the max-open-files
59216         limit.
59217
59218 2001-11-18  Paul Eggert  <eggert@twinsun.com>
59219
59220         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
59221         (TEMPORARIES): New macro.
59222         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
59223         removes an artificial limitation (e.g. HP-UX 10.20, where
59224         TMP_MAX is 17576).
59225
59226 2001-11-18  Jim Meyering  <meyering@lucent.com>
59227
59228         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
59229
59230 2001-11-18  Jim Meyering  <meyering@lucent.com>
59231
59232         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
59233         on SunOS 4.
59234
59235         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
59236         files will be created before anything else.
59237
59238 2001-11-17  Paul Eggert  <eggert@twinsun.com>
59239
59240         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
59241         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
59242
59243 2001-11-17  Jim Meyering  <meyering@lucent.com>
59244
59245         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
59246         Prompted by a report from Bob Proulx.
59247
59248         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
59249         Instead, require UTILS_FUNC_MKSTEMP.
59250
59251 2001-11-17  Jim Meyering  <meyering@lucent.com>
59252
59253         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
59254         Now, that's done as part of AC_FUNC_STRTOD.
59255
59256 2001-11-17  Jim Meyering  <meyering@lucent.com>
59257
59258         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
59259         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
59260         rather than group writable.  Patch by Juan F. Codagnone.
59261
59262         * lib/readtokens.c: Remove explicit declarations of xmalloc and
59263         xrealloc, Instead, include "xalloc.h".
59264
59265         * lib/mountlist.c: Include unlocked-io.h after all system headers.
59266         Remove explicit declarations of xmalloc, xrealloc,
59267         and xstrdup.  Instead, include "xalloc.h".
59268
59269         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
59270         unlocked-io.h.
59271         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
59272         Likewise.
59273         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
59274
59275         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
59276         Reported by Padraig Brady.
59277
59278         * lib/mkstemp.c: #undef mkstemp.
59279         Include config.h.
59280         (rpl_mkstemp): Rename from mkstemp.
59281         Protoize.
59282
59283 2001-11-16  Jim Meyering  <meyering@lucent.com>
59284
59285         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
59286         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
59287         determine the amount of total physical memory, use pstat_getstatic.
59288         HPUX-11 doesn't define _SC_PHYS_PAGES.
59289         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
59290         If sysconf couldn't be used to determine the amount of available
59291         physical memory, use both pstat_getstatic and pstat_getdynamic.
59292         Based on a patch from Bob Proulx.
59293
59294 2001-11-10  Jim Meyering  <meyering@lucent.com>
59295
59296         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
59297         (jm_PREREQ): Use it.
59298
59299 2001-11-09  Jim Meyering  <meyering@lucent.com>
59300
59301         * m4/jm-macros.m4: Require autoconf-2.52f.
59302         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
59303         Use these AC_-prefixed names, not the AM_-prefixed ones.
59304
59305         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
59306
59307 2001-11-05  Jim Meyering  <meyering@lucent.com>
59308
59309         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
59310
59311 2001-11-04  Jim Meyering  <meyering@lucent.com>
59312
59313         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
59314         $DEFS.
59315
59316 2001-11-03  Jim Meyering  <meyering@lucent.com>
59317
59318         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
59319         of AC_DEFUN.
59320
59321         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
59322         know the name of the variable in the macro definition.
59323
59324 2001-11-03  Jim Meyering  <meyering@lucent.com>
59325
59326         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
59327         in argmatch_to_argument call.
59328
59329         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
59330         argument.
59331
59332         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
59333         e.g., a fault due to an attempt to free a NULL pointer.
59334
59335 2001-11-01  Jim Meyering  <meyering@lucent.com>
59336
59337         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
59338         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
59339
59340 2001-11-01  Jim Meyering  <meyering@lucent.com>
59341
59342         * lib/dirfd.c, lib/dirfd.h: New files.
59343         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
59344
59345         * lib/hash.c (hash_print) [TESTING]: Clean up.
59346
59347 2001-10-22  Paul Eggert  <eggert@twinsun.com>
59348
59349         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
59350         to avoid a warning if -Wall.
59351
59352 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
59353
59354         * README: New file
59355         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
59356         (per RMS's instructions, this is now the canonical source)
59357         * lgpl/, gpl/: New directories.
59358
59359 2001-10-21  Paul Eggert  <eggert@twinsun.com>
59360
59361         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
59362
59363 2001-10-21  Jim Meyering  <meyering@lucent.com>
59364
59365         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
59366         this code would end up calling gettext even in packages built
59367         with --disable-nls.
59368         * lib/getopt.c (_): Likewise.
59369         * lib/regex.c (_): Likewise.
59370
59371 2001-10-20  Paul Eggert  <eggert@twinsun.com>
59372
59373         * m4/error.m4 (jm_PREREQ_ERROR):
59374         Do not invoke AC_CHECK_FUNCS with strerror_r, as
59375         AC_FUNC_STRERROR_R does that.
59376         Check for strerror declaration.
59377
59378         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
59379         are supposed to have them these days.
59380         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
59381         Merge changes from latest Autoconf CVS.
59382         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
59383         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
59384         POSIX decided to standardize on the int flavor of strerror_r.
59385
59386 2001-10-20  Paul Eggert  <eggert@twinsun.com>
59387
59388         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
59389         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
59390         Use strerror_r that is only a macro, even if it is not a function.
59391         (strerror): Check for HAVE_DECL_STRERROR before declaring.
59392         (private_strerror): Use prototypes, not old-style function definition.
59393         (print_errno_message): New function.
59394         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
59395         char*-flavored one.
59396         (error_tail, error, error_at_line): Use it.
59397
59398 2001-10-11  Jim Meyering  <meyering@lucent.com>
59399
59400         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
59401         and quote_n (1, ... to avoid clobbering a buffer.
59402
59403 2001-10-05  Jim Meyering  <meyering@lucent.com>
59404
59405         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
59406         hash-pjw.h.
59407         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
59408         * lib/hash-pjw.h: New file.
59409
59410 2001-09-30  Jim Meyering  <meyering@lucent.com>
59411
59412         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
59413         `struct fsstat' has the `f_fstypename' member.
59414         Use that to define FS_TYPE, which is now used to make
59415         the getfsstat link test tighter.
59416
59417 2001-09-30  Jim Meyering  <meyering@lucent.com>
59418
59419         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
59420         Include <sys/ucred.h>, for Apple Darwin.
59421         Include sys/mount.h and sys/fs_types.h only if available.
59422         (FS_TYPE): Define.
59423         (read_filesystem_list): Use FS_TYPE.
59424
59425 2001-09-29  Paul Eggert  <eggert@twinsun.com>
59426
59427         * lib/exclude.c (excluded_filename): 0 -> false, since it's
59428         a boolean context.
59429
59430 2001-09-29  Jim Meyering  <meyering@lucent.com>
59431
59432         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59433         [one-argument getmntent function]): Include stdio.h before mntent.h.
59434         SunOS 4.1.x needs it for the declaration of `FILE'.
59435         Patch by Volker Borchert.
59436
59437         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59438         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
59439         sys/fs_types.h, and make the link-test for getfsstat guard #include
59440         directives with appropriate #if HAVE_*_H tests so that we can
59441         detect getfsstat on Apple Darwin1.3.7 systems.
59442         Reported by Nelson Beebe.
59443         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
59444
59445 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59446
59447         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59448         #defines strtoimax.  Also treat the other strto* functions
59449         like strtoimax.
59450
59451         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
59452         Check for strtoul and strtoumax,
59453         as those declarations are made even in the signed case.
59454         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
59455         Likewise, for strtol and strtoimax.
59456
59457 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59458
59459         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59460         #defines strtoimax.  Also treat the other strto* functions
59461         like strtoimax.
59462
59463         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
59464         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
59465         (strtoimax, strtoumax): Do not declare if already defined as a macro.
59466
59467 2001-09-26  Jim Meyering  <meyering@lucent.com>
59468
59469         Most macros in unlocked-io.h had the wrong number of arguments.
59470         * lib/gen-uio: New script.
59471         (USE_UNLOCKED_IO): Define to 1 if not already defined.
59472         * lib/unlocked-io.hin: Remove file.
59473         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
59474         rather than trying to embed it here.
59475         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
59476         Reported by Padraig Brady.
59477
59478 2001-09-25  Volker Borchert  <bt@teknon.de>
59479
59480         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
59481         `result'.
59482
59483 2001-09-24  Jim Meyering  <meyering@lucent.com>
59484
59485         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
59486
59487 2001-09-23  Jim Meyering  <meyering@lucent.com>
59488
59489         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
59490         instead of the mere test for existence of mntent.h.  The latter
59491         would get a false-positive on AIX 3.4 systems.
59492         In the outer getmntent if-block, don't die if neither of the getmntent
59493         tests succeeds.  Instead, just fall through and continue with the
59494         remaining tests.
59495
59496 2001-09-23  Jim Meyering  <meyering@lucent.com>
59497
59498         * lib/mountlist.c: Remove useless parentheses in #if directives.
59499         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
59500         the deprecated MOUNTED symbol is no longer defined in mntent.h.
59501
59502 2001-09-22  Jim Meyering  <meyering@lucent.com>
59503
59504         * m4/gettext.m4: New file.  From gettext.
59505         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
59506         * m4/progtest.m4: Likewise
59507         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
59508         * m4/glibc21.m4: Likewise.
59509
59510         * m4/libintl.m4: Remove.  No longer used.
59511
59512 2001-09-22  Jim Meyering  <meyering@lucent.com>
59513
59514         * lib/localcharset.c: Update from latest gettext.
59515         * lib/config.charset: Likewise.
59516
59517 2001-09-20  Jim Meyering  <meyering@lucent.com>
59518
59519         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
59520         strtoimax.
59521         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
59522         strtoumax.
59523
59524 2001-09-20  Jim Meyering  <meyering@lucent.com>
59525
59526         * lib/xstrtol.c (strtoimax): Guard declaration with
59527         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
59528         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
59529         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
59530         (strtoumax): Likewise, for completeness (it wasn't necessary).
59531
59532 2001-09-17  Paul Eggert  <eggert@twinsun.com>
59533
59534         * lib/strtoimax.c (HAVE_LONG_LONG):
59535         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
59536         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
59537         to work around bug in IBM C compiler.
59538
59539 2001-09-17  Jim Meyering  <meyering@lucent.com>
59540
59541         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
59542         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
59543         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
59544         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
59545         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
59546         whenever the right hand side need not be expanded by the shell.
59547
59548 2001-09-16  Paul Eggert  <eggert@twinsun.com>
59549
59550         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
59551         library.  It's not correct, as some older glibcs are buggy.
59552         fnmatch wasn't fixed until glibc 2.2.
59553
59554         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
59555         special shell magic here.
59556
59557 2001-09-16  Jim Meyering  <meyering@lucent.com>
59558
59559         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
59560         * m4/jm-macros.m4: Require it.
59561
59562 2001-09-16  Jim Meyering  <meyering@lucent.com>
59563
59564         * lib/mkdir.c: New file.
59565
59566 2001-09-15  Jim Meyering  <meyering@lucent.com>
59567
59568         * m4/jm-macros.m4: Check for help2man.
59569
59570 2001-09-11  Jim Meyering  <meyering@lucent.com>
59571
59572         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
59573         The body, by Paul Eggert, was moved here from configure.in.
59574         * m4/jm-macros.m4: Require UTILS_HOST_OS.
59575
59576 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59577
59578         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
59579         (jm_PREREQ): Use it.
59580
59581 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59582
59583         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
59584         Use ssize_t, not int, to store result of readlink.
59585         Check for ssize_t overflow as well as size_t overflow,
59586         as POSIX says the result of readlink is implementation-defined
59587         when ssize_t overflows.
59588         Remove unnecessary cast to char*.
59589         Use free+malloc instead of realloc, as the storage doesn't need
59590         to be preserved and it's clearer and can be more efficient that way.
59591         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
59592         * lib/xreadlink.h (xreadlink): Update prototype.
59593
59594 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59595
59596         * lib/xgetcwd.c: Revert some of the previous change; intead,
59597         fix the HAVE_GETCWD_NULL code to behave more like the
59598         !HAVE_GETCWD_NULL code used to.
59599
59600         Include "xalloc.h".
59601         (xgetcwd): Do not return NULL when memory is exhausted; instead,
59602         invoke xalloc_die.
59603
59604 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59605
59606         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
59607         sys/param.h, as pathmax.h includes them.
59608
59609 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59610
59611         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
59612         (jm_PREREQ_XGETCWD): New macro.
59613
59614         * m4/getcwd.m4: New file.
59615
59616 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59617
59618         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
59619         like the HAVE_GETCWD_NULL code.
59620         Include pathmax.h if not HAVE_GETCWD.
59621         Do not include xalloc.h.
59622         (INITIAL_BUFFER_SIZE): New symbol.
59623         Do not use xmalloc / xrealloc, since the caller is responsible for
59624         handling errors.  Preserve errno around `free' during failure.
59625         Do not overrun buffer when using getwd.
59626
59627 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59628
59629         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
59630         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
59631         getcwd (NULL, 0).
59632
59633 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59634
59635         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
59636         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
59637         spotted by Jim Meyering.
59638
59639 2001-09-03  Jim Meyering  <meyering@lucent.com>
59640
59641         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
59642         failure.
59643
59644 2001-09-02  Jim Meyering  <meyering@lucent.com>
59645
59646         * lib/error.c: Update from GNU libc.
59647
59648 2001-09-01  Jim Meyering  <meyering@lucent.com>
59649
59650         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
59651         Used by df.
59652
59653 2001-09-01  Jim Meyering  <meyering@lucent.com>
59654
59655         * lib/xreadlink.c: New file.
59656         * lib/xreadlink.h: New file.
59657         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
59658         xreadlink.h.
59659
59660         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
59661         doesn't conflict with sparc Solaris 7's definition in
59662         /usr/include/sys/int_types.h.
59663
59664         * lib/exclude.c: Use `""', not `<>' to #include non-system header
59665         files.
59666         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
59667         and strncasecmp as r-values.  Unixware didn't have declarations.
59668
59669 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59670
59671         * lib/xstrtol.h: Add copyright notice.
59672         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
59673         LONGINT_INVALID_SUFFIX_CHAR.
59674
59675 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59676
59677         * lib/xstrtol.c (strtoimax): New decl.
59678
59679 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59680
59681         * lib/xgetcwd.c: Don't include pathmax.h.
59682         Include stdlib.h and unistd.h if available.
59683         Include xalloc.h.
59684         (xmalloc, xstrdup, free): Remove decls.
59685         (xgetcwd): Don't assume sizes fit in unsigned.
59686         Check for overflow when computing sizes.
59687         Simplify reallocation code.
59688
59689 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59690
59691         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
59692         a directory's st_size can have an arbitrary value, so the old
59693         usage could waste an arbitrary amount of memory.  All uses
59694         changed.
59695         * lib/savedir.h: Update prototype.
59696
59697 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59698
59699         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
59700
59701         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
59702         old strtoimax.c.
59703
59704         Also, make the following further changes to make this file's
59705         configuration more similar to that of strtol.c:
59706         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
59707         (strtoumax, uintmax_t, strtoull, strtol): Remove.
59708         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
59709         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
59710         changed to signed values.
59711
59712         And make the following changes as well:
59713         Fix copyright notice, as 1999 was missing.
59714         (verify): New macro.
59715         (strtoimax): Check sizes at compile-time, not run-time.
59716         Prefer strtol to strtoll if both work.
59717         (main): Remove; it was not that useful and was a pain to maintain.
59718
59719         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
59720
59721 2001-08-31  Jim Meyering  <meyering@lucent.com>
59722
59723         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
59724         Use an initial, malloc'd, buffer of length 128 rather than
59725         a statically allocated one of length 1024.
59726
59727 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59728
59729         Simplify code, partly by assuming autoconf 2.52 semantics.
59730
59731         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
59732
59733         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
59734         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
59735         All uses removed.
59736         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
59737         Move AC_REQUIRE to next-to-top level, to avoid confusion.
59738         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
59739         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
59740         jm_AC_HEADER_INTTYPES_H.
59741         * m4/jm-macros.m4 (jm_MACROS): Likewise.
59742
59743         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
59744
59745         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
59746         Quote first arg of AC_DEFUN.
59747         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
59748         since they are needed to parse the include file even if we need
59749         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
59750         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
59751         but with opposite signedness.
59752
59753 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59754
59755         Merge 'exclude' changes from tar 1.13.22.
59756         This fixes one or two unlikely storage allocation overflow bugs,
59757         but doesn't change user-visible behavior otherwise.
59758
59759 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59760
59761         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
59762         (jm_PREREQ_EXCLUDE): New macro.
59763
59764 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59765
59766         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
59767         tm to be declared.
59768
59769 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59770
59771         * lib/hash.c: Remove '2001' from copyright notice.
59772
59773 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59774
59775         * lib/full-write.h: New file.
59776         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
59777         * lib/full-write.c: Correct credits, as cccp.c no longer
59778         exists and anyway it was so heavily changed from the old cccp
59779         code as to be unrecognizable.  Include full-write.h.
59780         (full_write) Return size_t, with short writes meaning failure.
59781         All callers changed.  This fixes a bug with large buffers
59782         on 64-bit hosts.
59783         * lib/utime.c: Include full-write.h.
59784
59785 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59786
59787         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
59788         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
59789         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
59790         Include if available.
59791         (<xalloc.h>): Include
59792         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
59793         (verify): New macro.  Use it to verify that EXCLUDE macros do not
59794         collide with FNM macros.
59795         (struct patopts): New struct.
59796         (struct exclude): Use it, as exclude patterns now come with options.
59797         (new_exclude): Support above changes.
59798         (new_exclude, add_exclude_file):
59799         Initial size must now be a power of two to simplify overflow checking.
59800         (free_exclude, fnmatch_no_wildcards): New function.
59801         (excluded_filename): No longer requires options arg, as the options
59802         are determined by add_exclude.  Now returns bool, not int.
59803         (excluded_filename, add_exclude):
59804         Add support for the fancy new exclusion options.
59805         (add_exclude, add_exclude_file): Now takes int options arg.
59806         Check for arithmetic overflow when computing sizes.
59807         (add_exclude_file): xrealloc might modify errno, so don't
59808         realloc until after errno might be used.
59809
59810         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
59811         New macros.
59812         (free_exclude): New decl.
59813         (add_exclude, add_exclude_file): Now takes int options arg.
59814         (excluded_filename): No longer requires options arg, as the options
59815         are determined by add_exclude.  Now returns bool, not int.
59816
59817 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59818
59819         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
59820
59821 2001-08-27  Jim Meyering  <meyering@lucent.com>
59822
59823         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
59824
59825         * lib/version-etc.c (N_): Remove definition.
59826         Revert most of last change.
59827         Instead, simply don't mark the `Copyright...' string for translation.
59828         Based on advice from Paul Eggert.
59829
59830         * lib/strtoxmax.c: Tweak comment.
59831
59832 2001-08-26  Jim Meyering  <meyering@lucent.com>
59833
59834         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
59835
59836         * m4/xstrtoimax.m4: New file.
59837         * m4/xstrtoumax.m4: Add comments explaining why we
59838         AC_REPLACE_FUNCS(strtol).
59839
59840 2001-08-26  Jim Meyering  <meyering@lucent.com>
59841
59842         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
59843         of copyright with `%s' so translators don't get an untranslated
59844         message in 2002.
59845         (COPYRIGHT_YEAR): Define.
59846         (version_etc): Use fprintf rather than fputs.
59847         Suggestion from Ulrich Drepper.
59848
59849         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
59850
59851         * lib/strtoll.c: New file, from GNU libc.
59852         * lib/xstrtoimax.c: New file.
59853
59854         * lib/xstrtol.h: Add xstrtoimax.
59855         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
59856         * lib/strtoimax.c: New file.  Likewise, but first define
59857         STRTOUXMAX_SIGNED.
59858
59859         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
59860         ...
59861         * lib/strtoxmax.c: ... then renamed to this.
59862
59863 2001-08-18  Paul Eggert  <eggert@twinsun.com>
59864
59865         * m4/inttypes.m4: Add AC_PREREQ(2.13).
59866         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
59867         (jm_AC_TYPE_INTMAX_T): New macro.
59868         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
59869
59870         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
59871
59872         * m4/longlong.m4: Renamed from ulonglong.m4.
59873         * m4/inttypes.m4: Renamed from inttypes_h.m4.
59874         * m4/uintmax_t.m4: Removed.
59875
59876 2001-08-13  Paul Eggert  <eggert@twinsun.com>
59877
59878         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
59879         Port to Solaris 8, where 'sed' requires a space after the 'r'
59880         command, and where sh dislikes "$/".  Clean up the spacing a bit.
59881         Redirect output to $tmp just once.
59882
59883 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
59884
59885         * lib/addext.c (<errno.h>): Include.
59886         (errno): Declare if not defined.
59887         (addext): Work correctly when pathconf returns -1 and leaves
59888         errno alone because there is no limit.  Also, work even if
59889         pathconf returns a value greater than SIZE_MAX.
59890
59891 2001-08-12  Jim Meyering  <meyering@lucent.com>
59892
59893         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
59894         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
59895         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
59896         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
59897         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
59898         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
59899         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
59900         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
59901         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
59902         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
59903         utime.m4, utimes.m4, xstrtoumax.m4:
59904         Quote the first argument in each use of AC_DEFUN.
59905
59906 2001-08-12  Jim Meyering  <meyering@lucent.com>
59907
59908         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
59909         Simply `return getcwd (NULL, 0);'.
59910         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
59911         Use 1300 as initial value for length, not PATH_MAX.
59912
59913         * lib/pathmax.h: Clean up cpp syntax.
59914
59915 2001-08-12  Jim Meyering  <meyering@lucent.com>
59916
59917         * lib/gettimeofday.c: New file.
59918         * lib/gtod.h: New file.
59919         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
59920
59921 2001-08-05  Jim Meyering  <meyering@lucent.com>
59922
59923         * m4/jm-macros.m4: Require autoconf-2.52.
59924
59925 2001-08-04  Jim Meyering  <meyering@lucent.com>
59926
59927         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
59928         stmt, to get in sync with glibc.
59929
59930 2001-08-03  Paul Eggert  <eggert@twinsun.com>
59931
59932         The following changes are from gettext 0.10.39 as maintained by
59933         Bruno Haible.
59934
59935         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
59936         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
59937         with inverted sense.  All uses changed.
59938
59939         * lib/mbswidth.c: Don't include <limits.h>.
59940         Include <stdlib.h> and <string.h> unconditionally.
59941         (iswcntrl, mbsinit, ISCNTRL): New macros.
59942         (mbsnwidth): Use K&R style function declarations.
59943         Don't bother checking for MB_LEN_MAX == 1, since the compiler
59944         can optimize it when MB_CUR_MAX == 1.
59945         The width of control characters is zero, not 1.
59946
59947 2001-08-03  Paul Eggert  <eggert@twinsun.com>
59948
59949         The following changes are from gettext 0.10.39 as maintained by
59950         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
59951
59952         * m4/codeset.m4: Upgrade to serial AM1.
59953         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
59954         all uses changed.  Quote first arg of AC_DEFUN.
59955         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
59956
59957         * m4/iconv.m4: Upgrade to serial AM2.
59958         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
59959         Add --with-libconv-prefix.
59960         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
59961         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
59962         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
59963         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
59964         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
59965
59966         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
59967         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
59968         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
59969         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
59970         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
59971         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
59972         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
59973         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
59974         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
59975
59976         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
59977         string.h any more.
59978
59979         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
59980         not the default value.
59981
59982         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
59983         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
59984         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
59985         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
59986         Also check for iswcntrl, used for wcwidth fallback.
59987         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
59988         to Autoconf 2.13.
59989
59990 2001-08-03  Jim Meyering  <meyering@lucent.com>
59991
59992         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
59993         as it was in the original.  Reported by Paul Eggert.
59994
59995 2001-07-16  Jim Meyering  <meyering@lucent.com>
59996
59997         * m4/gettimeofday.m4: New file.
59998         Prompted by a report from Bernhard Baehr.
59999
60000 2001-07-15  Jim Meyering  <meyering@lucent.com>
60001
60002         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
60003         stuff. Now it's in ../Makefile.cfg.
60004
60005 2001-07-15  Jim Meyering  <meyering@lucent.com>
60006
60007         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
60008         (BUILT_SOURCES): Add unlocked-io.h.
60009         (io_functions): Define.
60010         (unlocked-io.h): New rule.
60011         (DISTCLEANFILES): Add unlocked-io.h.
60012         (all-local): Depend on unlocked-io.h, to ensure it is created.
60013
60014         * lib/unlocked-io.hin: New file
60015
60016         * lib/regex.c: Update from glibc.
60017
60018 2001-07-05  Jim Meyering  <meyering@lucent.com>
60019
60020         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
60021         recommendation.
60022         (libfetish_a_SOURCES): Put all .h files here instead.
60023         Remove a thus-exposed (better checks in automake) duplicate and
60024         two unnecessary .h files.
60025
60026 2001-07-04  Jim Meyering  <meyering@lucent.com>
60027
60028         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
60029         that generates jm-glibc-io.m4 so that it doesn't trigger any make
60030         distcheck failure.
60031
60032 2001-07-02  Jim Meyering  <meyering@lucent.com>
60033
60034         The following changes were prompted by suggestions from Bruno Haible.
60035
60036         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
60037         is now generated.
60038         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
60039         definition of EXTRA_DIST.
60040         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
60041         ensure that the generated file is created/updated whenever the list
60042         of $(unlocked_functions) is changed.
60043         (jm-glibc-io.m4): New rule.
60044         (unlocked-io.h): New rule -- currently unused.
60045
60046 2001-06-24  Jim Meyering  <meyering@lucent.com>
60047
60048         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
60049         unmatched right bracket, rather than kludging it with an extra,
60050         falsely-matching quote in a comment.  Patch by Akim Demaille.
60051
60052 2001-06-11  Jim Meyering  <meyering@lucent.com>
60053
60054         * lib/regex.c: Update from GNU libc.
60055
60056 2001-05-27  Jim Meyering  <meyering@lucent.com>
60057
60058         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
60059         Check for ut_type in struct utmp.
60060
60061 2001-05-27  Jim Meyering  <meyering@lucent.com>
60062
60063         * lib/readutmp.h (UT_TYPE): Define.
60064
60065 2001-05-24  Jim Meyering  <meyering@lucent.com>
60066
60067         * lib/argmatch.c: Include "quote.h".
60068         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
60069         quote function.  Reported by Göran Uddeborg.
60070
60071 2001-05-22  Jim Meyering  <meyering@lucent.com>
60072
60073         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
60074         now that we use the package-supplied version unconditionally.
60075         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
60076
60077 2001-05-21  Jim Meyering  <meyering@lucent.com>
60078
60079         * m4/regex.m4: Change a couple backticks to single quotes to avoid
60080         shell syntax errors.
60081
60082 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
60083
60084         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
60085
60086 2001-05-20  Paul Eggert  <eggert@twinsun.com>
60087
60088         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
60089         Don't bother to check library strftime, since
60090         we'll be using our own my_strftime function anyway.
60091         Define my_strftime instead of strftime.
60092
60093 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
60094
60095         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
60096         which is not yet declared.
60097
60098 2001-05-15  Jim Meyering  <meyering@lucent.com>
60099
60100         * m4/regex.m4: Use proper quoting so brackets appear in the test
60101         program.
60102         Reported by, and with help from, Bruno Haible.
60103
60104 2001-05-13  Jim Meyering  <meyering@lucent.com>
60105
60106         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
60107         undefined.
60108
60109 2001-05-11  Paul Eggert  <eggert@twinsun.com>
60110
60111         dirname code cleanup.  base_name now behaves more compatibly
60112         with POSIX basename when given file names that have trailing
60113         slashes, and similarly for dir_name.  Add new primitives
60114         base_len and dir_len.  Put the directory-name-related decls
60115         into dirname.h.
60116
60117         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
60118         * lib/backupfile.c (base_name): Likewise.
60119         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
60120         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
60121         * lib/makepath.c (strip_trailing_slashes): Likewise.
60122         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
60123         ISSLASH): Likewise.
60124         * lib/rename.c (strip_trailing_slashes): Likewise.
60125         * lib/same.c (base_name): Likewise.
60126         * lib/stripslash.c (ISSLASH): Likewise.
60127
60128         * lib/addext.c: Include <dirname.h> after size_t is defined.
60129         * lib/backupfile.c: Likewise.
60130
60131         * lib/addext.c (addext): Use base_len to trim redundant
60132         trailing slashes instead of doing it ourselves.
60133         But do not trim the last slash if it is not redundant.
60134
60135         * lib/backupfile.c (find_backup_file_name,
60136         max_backup_version): Use base_len instead of rolling it ourselves.
60137         Handle the case of "" and (on DOS) "C:" correctly.
60138
60139         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
60140         needed. Include <string.h>, <dirname.h>.
60141         (base_name): Allow file names ending in slashes, other than names
60142         that are all slashes.  In this case, return the basename followed
60143         by the slashes.  This is more general, and can be used in places
60144         where the original base_name purposely had an assertion failure.
60145         (base_len): New function.
60146
60147         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
60148         Do not include <assert.h>; no longer needed.
60149         Include xalloc.h.
60150         (memrchr): Remove decl.
60151         (dir_name_r): Remove.
60152         (dir_len): Renamed from dirlen.  All callers changed.
60153         Rewrite in terms of base_name, for simplicity and consistency.
60154         (dir_name): Never return NULL.  All callers changed.
60155         Do not include <stdlib.h> in test program; no longer needed.
60156         return 0; is fine for test program.
60157
60158         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
60159         New macros.
60160         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
60161
60162         * lib/path-concat.c (path_concat): Use base_len to compute
60163         base length, not strlen; this means we cannot rely on memcpy
60164         to null-terminate.
60165
60166         * lib/same.c (STREQ): Remove.
60167         (same_name): Handle the case where the basename ends in trailing '/'.
60168
60169         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
60170         a slash was stripped.  Do not strip the last slash after a
60171         file system prefix.
60172
60173 2001-05-11  Paul Eggert  <eggert@twinsun.com>
60174
60175         * lib/Makefile.am (libfetish_a_SOURCES):
60176         Add strftime.c, since we now compile it on all hosts.
60177
60178         * lib/strftime.c (my_strftime):
60179         Define to nstrftime if emacs, but only if my_strftime is not defined.
60180         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
60181         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
60182         Add one more extra argument: a nanoseconds value.
60183         All uses changed.
60184         (ns): New macro.
60185         (my_strftime function): Add %N format.
60186         (emacs_strftimeu): Renamed from emacs_strftime,
60187         with extra ut argument.
60188
60189 2001-05-09  Paul Eggert  <eggert@twinsun.com>
60190
60191         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
60192
60193 2001-04-21  Jim Meyering  <meyering@lucent.com>
60194
60195         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
60196         doesn't interfere.
60197
60198 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
60199
60200         * m4/ftruncate.m4: Check for chsize.
60201         Link with ftruncate.o unconditionally if ftruncate is missing.
60202         This was required when cross-compiling to i586-mingw32msvc.
60203
60204 2001-04-08  Jim Meyering  <meyering@lucent.com>
60205
60206         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
60207         recomputed; that's necessary when the offset spans a DST transition.
60208         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
60209
60210 2001-04-02  Jim Meyering  <meyering@lucent.com>
60211
60212         * lib/regex.h, regex.c: Update from GNU libc.
60213
60214 2001-03-24  Jim Meyering  <meyering@lucent.com>
60215
60216         * m4/jm-macros.m4: Require autoconf-2.49d.
60217
60218 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
60219
60220         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
60221
60222 2001-03-19  Paul Eggert  <eggert@twinsun.com>
60223
60224         * lib/version-etc.c (version_etc_copyright): Update to 2001.
60225
60226 2001-03-17  Jim Meyering  <meyering@lucent.com>
60227
60228         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
60229         now that the version in autoconf is equivalent.
60230         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
60231
60232         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
60233         Suggestion from Akim Demaille.
60234
60235         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
60236         (jm_PREREQ_TEMPNAME): New function.
60237
60238 2001-03-16  Paul Eggert  <eggert@twinsun.com>
60239
60240         * lib/tempname.c (uint64_t): Define to uintmax_t if
60241         not defined, and if UINT64_MAX is not defined.
60242         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
60243         Reported by John David Anglin.
60244
60245 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
60246
60247         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
60248         resolve alias if codeset is empty.
60249         * lib/config.charset (BeOS): Use wildcard syntax.
60250
60251 2001-03-13  Jim Meyering  <meyering@lucent.com>
60252
60253         * lib/path-concat.c (path_concat)
60254         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
60255         concatenating e.g., `C:' and `foo'.
60256         From Bruno Haible.
60257
60258 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
60259
60260         * lib/localcharset.c (locale_charset): Don't use
60261         setlocale(LC_CTYPE,NULL). Don't return NULL.
60262         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
60263
60264 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
60265
60266         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
60267         support for DOS/DJGPP.
60268
60269 2001-03-01  Paul Eggert  <eggert@twinsun.com>
60270
60271         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
60272         lacks mkstemp.  Compile our own tempname.c if we compile our own
60273         mkstemp.c, as mkstemp relies on tempname.
60274
60275 2001-03-01  Jim Meyering  <meyering@lucent.com>
60276
60277         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
60278         AH_VERBATIM really does output its argument verbatim.
60279
60280 2001-02-28  Paul Eggert  <eggert@twinsun.com>
60281
60282         * lib/Makefile.am (libfetish_a_SOURCES):
60283         Add dup-safer.c, fopen-safer.c.
60284         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
60285
60286         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
60287         * lib/unistd-safer.h: New files.
60288
60289 2001-02-25  Paul Eggert  <eggert@twinsun.com>
60290
60291         The mkstemp replacement is taken from glibc 2.2.2, with some
60292         portability fixes for use outside glibc, as follows:
60293
60294         * lib/tempname.c (struct_stat64): New macro.
60295         (direxists, __gen_tempname): Use it.
60296         This avoids a portability problem with Solaris 8.
60297
60298         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
60299         (<stddef.h>, <stdint.h>, <string.h>):
60300         Include only if STDC_HEADERS || _LIBC.
60301         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
60302         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
60303         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
60304         (__set_errno): Define this macro if <errno.h> doesn't.
60305         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
60306         Define these macros if <stdio.h> doesn't.
60307         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
60308         Define these macros if <sys/stat.h>
60309         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
60310         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
60311         __xstat64): Define if not _LIBC.
60312         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
60313         (__gen_tempname): Invoke gettimeofday only if
60314         HAVE_GETTIMEOFDAY || _LIBC;
60315         otherwise, fall back on plain "time".
60316         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
60317
60318         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
60319
60320         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
60321
60322 2001-02-18  Paul Eggert  <eggert@twinsun.com>
60323
60324         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
60325
60326 2001-02-17  Paul Eggert  <eggert@twinsun.com>
60327
60328         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
60329         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
60330         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
60331         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
60332
60333 2001-02-17  Paul Eggert  <eggert@twinsun.com>
60334
60335         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
60336         Remove workaround macros for hosts that have mbrtowc but not
60337         mbstate_t, as we now insist on proper declarations for both
60338         before using mbrtowc.
60339
60340 2001-02-17  Jim Meyering  <meyering@lucent.com>
60341
60342         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
60343         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
60344         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
60345         UnixWare 7.1.1.
60346
60347         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
60348         rather than AC_CACHE_VAL.
60349
60350 2001-02-17  Jim Meyering  <meyering@lucent.com>
60351
60352         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
60353         around included file name.
60354
60355         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
60356
60357         * lib/strftime.c: Update from GNU libc (the only changes were to
60358         comments).
60359
60360 2001-02-17  Jim Meyering  <meyering@lucent.com>
60361
60362         * lib/regex.c: Update from libc.
60363
60364 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
60365
60366         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
60367         clash.
60368
60369 2001-02-16  Paul Eggert  <eggert@twinsun.com>
60370
60371         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
60372         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
60373         Reported by Mark Hounschell via Paul Eggert.
60374
60375 2001-02-07  Jim Meyering  <meyering@lucent.com>
60376
60377         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
60378
60379 2001-02-05  Jim Meyering  <meyering@lucent.com>
60380
60381         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
60382         it includes the patch required for `large file' support with at least
60383         HP-UX's 10.20 /bin/cc.
60384
60385 2001-02-03  Jim Meyering  <meyering@lucent.com>
60386
60387         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
60388         AS_IF, now that it works once again (mysteriously).
60389         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
60390
60391 2001-01-30  Jim Meyering  <meyering@lucent.com>
60392
60393         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
60394         * m4/chown.m4: Rename conftestchown to conftest.chown.
60395         * m4/rename.m4: s/conftestdir/conftest.d1/ and
60396         s/conftestdir2/conftest.d2/.
60397         * m4/utimes.m4: s/conftestdata/conftest.data/
60398         Inspired by Pavel Roskin's change in autoconf.
60399
60400 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
60401
60402         * lib/config.charset: Update for FreeBSD 4.2.
60403
60404 2001-01-27  Jim Meyering  <meyering@lucent.com>
60405
60406         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
60407         a use of AS_IF.
60408         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
60409
60410 2001-01-26  Jim Meyering  <meyering@lucent.com>
60411
60412         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
60413         quotearg.c includes it.
60414
60415 2001-01-26  Jim Meyering  <meyering@lucent.com>
60416
60417         * lib/quotearg.c: Include stddef.h.
60418         * lib/quote.c: Include stddef.h.
60419         Reported by Axel Kittenberger.
60420
60421         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
60422         line in double quotes so that it evokes a better diagnostic.
60423         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
60424         Reported by Axel Kittenberger.
60425
60426 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
60427
60428         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
60429         as if it was a `charset'.
60430
60431 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60432
60433         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
60434         has const.
60435
60436 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60437
60438         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
60439         to avoid a warning.  Add back 'const' to inptr.
60440
60441 2001-01-20  Jim Meyering  <meyering@lucent.com>
60442
60443         Be sure that headers are checked before used in code compiled
60444         for the type checks.
60445         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
60446         In place of that, invoke jm_CHECK_ALL_TYPES.
60447         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
60448         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
60449         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
60450         The check for ssize_t was mistakenly run before the test for unistd.h.
60451
60452         The configure-time check for stdbool.h was missing.
60453         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
60454         (jm_PREREQ_HASH): New function.
60455
60456 2001-01-17  Jim Meyering  <meyering@lucent.com>
60457
60458         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
60459         for autoconf-2.49c.
60460         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
60461
60462 2001-01-16  Jim Meyering  <meyering@lucent.com>
60463
60464         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
60465         From Bruno Haible.
60466
60467 2001-01-14  Jim Meyering  <meyering@lucent.com>
60468
60469         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
60470         foo and bar.  Create conftestdir/ in the script, not in the C code.
60471         Remove directories in the script, not in the C code.
60472         Remove conftestdir{,2} before trying to create the directory.
60473         Make the entire configure script fail if the mkdir fails.
60474
60475 2001-01-14  Jim Meyering  <meyering@lucent.com>
60476
60477         * lib/rename.c: New file.  From Volker Borchert.
60478         Include stdlib.h, string.h or strings.h, and xalloc.h.
60479         Use strip_trailing_slashes rather than open-coding it.
60480
60481 2001-01-03  Paul Eggert  <eggert@twinsun.com>
60482
60483         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
60484
60485 2001-01-03  Jim Meyering  <meyering@lucent.com>
60486
60487         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
60488         of local `inptr' to avoid warning with some system declarations of
60489         iconv.
60490
60491 2001-01-02  Volker Borchert  <bt@teknon.de>
60492
60493         * m4/rename.m4: New file.
60494         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
60495
60496 2001-01-01  Jim Meyering  <meyering@lucent.com>
60497
60498         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
60499         even on systems with utmpx.h.  It's necessary for the declaration of
60500         utmp's ut_user member.  Reported by Andreas Jaeger.
60501
60502         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
60503         available. They are required for the declarations of getgrgid and
60504         getpwuid resp.
60505         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
60506         Reported by Andreas Jaeger.
60507
60508 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
60509
60510         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
60511         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
60512         so `make install' also works in VPATH builds.
60513
60514 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
60515
60516         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
60517         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
60518         can be used in subdirectories.
60519
60520 2000-12-29  Paul Eggert  <eggert@twinsun.com>
60521
60522         * lib/modechange.c: Do not assume that mode_t uses the
60523         traditional octal encoding.  E.g. "chmod 1 FOO" should set
60524         the other-execute bit of FOO even if S_IXOTH != 1.
60525
60526         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
60527         WOTH, XOTH, ALLM): New macros.
60528         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
60529          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
60530         Use them.
60531         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
60532         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
60533         (mode_compile):
60534         No need to use uintmax_t; unsigned long is long enough.
60535         Don't bother to get suffix since we don't use it.
60536
60537 2000-12-26  Jim Meyering  <meyering@lucent.com>
60538
60539         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
60540         better with autoheader.
60541
60542 2000-12-24  Jim Meyering  <meyering@lucent.com>
60543
60544         * lib/hash.c (is_prime): Return explicit boolean values.
60545         (hash_get_first): Return NULL to appease Irix5.6's 89.
60546         Reported by Nelson Beebe.
60547
60548 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
60549
60550         * lib/localcharset.c (locale_charset): Add support for Win32.
60551
60552 2000-12-18  Paul Eggert  <eggert@twinsun.com>
60553
60554         * lib/physmem.h, lib/physmem.c: New files.
60555
60556         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
60557         (noinst_HEADERS): Add physmem.h.
60558
60559         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
60560         't' for compatibility with Solaris 8 sort.
60561
60562 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
60563
60564         * lib/config.charset: Add support for BeOS.
60565
60566 2000-12-17  Jim Meyering  <meyering@lucent.com>
60567
60568         * m4/dos.m4 (jm_AC_DOS): New file and macro.
60569         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
60570
60571 2000-12-16  Jim Meyering  <meyering@lucent.com>
60572
60573         This bug had a serious impact on chown: `chown N:M FILE' (for integer
60574         N and M) would have treated it like `chown N:N FILE'.
60575
60576         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
60577
60578 2000-12-16  Jim Meyering  <meyering@lucent.com>
60579
60580         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
60581         SHELLS_FILE to a file name that's useful on djgpp systems.
60582         Include stdlib.h.
60583         (ADDITIONAL_DEFAULT_SHELLS): Define.
60584         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
60585         Based mostly on a patch from Prashant TR.
60586
60587 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
60588
60589         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
60590         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
60591         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
60592
60593 2000-12-08  Andreas Schwab  <schwab@suse.de>
60594
60595         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
60596         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
60597
60598 2000-12-07  Jim Meyering  <meyering@lucent.com>
60599
60600         * lib/stripslash.c (ISSLASH): Define.
60601         (strip_trailing_slashes): Use ISSLASH rather than comparing against
60602         `/'.
60603         From Prashant TR.
60604
60605         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
60606         (dir_name_r): Declare this function as static.
60607         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
60608         manifest itself on a name containing a mix of slashes and
60609         backslashes.
60610         Make this function work with names starting with a DOS-style
60611         drive letter and colon prefix.
60612         (dir_name): Append `.' if necessary.
60613         Based mostly on patches from Prashant TR and Eli Zaretskii.
60614
60615         * lib/dirname.h (dir_name_r): Remove prototype.
60616
60617 2000-12-06  Paul Eggert  <eggert@twinsun.com>
60618
60619         * m4/off_t-format.m4: Remove this file.
60620         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
60621
60622 2000-12-06  Jim Meyering  <meyering@lucent.com>
60623
60624         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
60625         replacement strtoull, we may well need the replacement strtoul, too.
60626         Check for declarations of strtoul and strtoull.
60627         Check for strtol.  Mainly as a cue to cause automake to include
60628         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
60629         Check for limits.h -- strtol.c needs it.
60630
60631 2000-12-05  Jim Meyering  <meyering@lucent.com>
60632
60633         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
60634
60635 2000-12-04  Jim Meyering  <meyering@lucent.com>
60636
60637         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
60638         Also include memory.h, stdlib.h, unistd.h if appropriate.
60639         Reported by Andreas Jaeger (conflicting declaration of malloc).
60640
60641 2000-12-02  Jim Meyering  <meyering@lucent.com>
60642
60643         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
60644         * m4/jm-macros.m4 (jm_MACROS): require it.
60645
60646 2000-12-02  Jim Meyering  <meyering@lucent.com>
60647
60648         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
60649
60650 2000-12-01  Paul Eggert  <eggert@twinsun.com>
60651
60652         * lib/memrchr.c: Include <config.h> before any system include file.
60653
60654 2000-11-30  Jim Meyering  <meyering@lucent.com>
60655
60656         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
60657
60658 2000-11-30  Jim Meyering  <meyering@lucent.com>
60659
60660         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
60661
60662 2000-11-29  Paul Eggert  <eggert@twinsun.com>
60663
60664         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
60665
60666 2000-11-26  Jim Meyering  <meyering@lucent.com>
60667
60668         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
60669
60670 2000-11-22  Paul Eggert  <eggert@twinsun.com>
60671
60672         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
60673         size of (size_t) -1; it's not portable.
60674
60675 2000-11-17  Jim Meyering  <meyering@lucent.com>
60676
60677         * lib/strstr.c: Update from GNU libc.
60678
60679 2000-11-17  Akim Demaille  <akim@epita.fr>
60680
60681         * lib/obstack.h: Formatting changes.
60682         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
60683         prevent type checking.
60684         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
60685         cast the value to (void *): assigning a `foo *' to a `void *'
60686         variable is valid.
60687         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
60688
60689 2000-11-16  Jim Meyering  <meyering@lucent.com>
60690
60691         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
60692
60693 2000-11-11  Jim Meyering  <meyering@lucent.com>
60694
60695         * lib/error.c: Add a couple #includes, merging from GNU libc version.
60696
60697 2000-11-10  Jim Meyering  <meyering@lucent.com>
60698
60699         * lib/obstack.h: Update from GNU libc.
60700         * lib/obstack.c: Likewise.
60701
60702 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
60703
60704         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
60705
60706 2000-11-06  Paul Eggert  <eggert@twinsun.com>
60707
60708         * lib/getusershell.c (setusershell): Use rewind rather than
60709         fseek/fseeko, to avoid configuration hassles with fseeko.
60710         Don't bother opening SHELLS_FILE if shellstream is NULL;
60711         it's not necessary.
60712
60713 2000-11-05  Jim Meyering  <meyering@lucent.com>
60714
60715         * lib/makepath.h (make_dir): Declare.
60716         * lib/makepath.c (make_dir): Remove `static' attribute.
60717         Tweak a comment.
60718
60719 2000-11-04  Jim Meyering  <meyering@lucent.com>
60720
60721         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
60722
60723 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
60724
60725         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
60726         last one in a bucket, advance to the next bucket.
60727
60728 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
60729
60730         * lib/fnmatch.c: Do not comment out all the code if we are using
60731         the GNU C library, because in some cases we are replacing buggy
60732         code in the GNU C library itself.
60733
60734 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
60735
60736         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
60737         (regex_compile): Catch bogus \(\1\).
60738
60739 2000-10-30  Paul Eggert  <eggert@twinsun.com>
60740
60741         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
60742         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
60743         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
60744
60745 2000-10-30  Paul Eggert  <eggert@twinsun.com>
60746
60747         * lib/error.h, getline.h, modechange.h:
60748         Remove "2000" from Copyright line, as the file hasn't been
60749         changed this year other than in the copyright notice.
60750
60751         * lib/xalloc.h: Add "2000" to Copyright line, as this file
60752         was changed this year.
60753
60754 2000-10-29  Jim Meyering  <meyering@lucent.com>
60755
60756         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
60757         renaming.
60758         * m4/ls-mntd-fs.m4: Likewise
60759
60760 2000-10-29  Jim Meyering  <meyering@lucent.com>
60761
60762         * lib/xstat.in: Fix grammar in comment.
60763
60764 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
60765
60766         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
60767         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
60768         doesn't define __restrict_arr.
60769
60770 2000-10-28  Jim Meyering  <meyering@lucent.com>
60771
60772         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
60773         (jm_PREREQ_MEMCHR): New function.
60774
60775 2000-10-28  Jim Meyering  <meyering@lucent.com>
60776
60777         * lib/memchr.c: Update from libc.
60778         Adjust for portability:
60779         [HAVE_STDLIB_H]: Include stdlib.h.
60780         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
60781         Undef __memchr, too.
60782         [!weak_alias]: Define __memchr to memchr.
60783
60784         * lib/regex.c: Update from libc.
60785         * lib/regex.h: Likewise.
60786         * lib/getopt1.c: Likewise.
60787         * lib/memcmp.c: Likewise.
60788
60789         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
60790         Avoid using fseek, when possible -- it's broken by design.
60791         Patch by Ulrich Drepper.
60792
60793 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
60794
60795         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
60796         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
60797         Giving in to popular pressure to shut up the compiler with casts.
60798
60799 2000-10-26  Jim Meyering  <meyering@lucent.com>
60800
60801         * lib/strftime.c: Update from libc.
60802
60803 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
60804
60805         * regex.c: More `unsigned char' -> `re_char' changes.
60806         Also change several `int' into `re_wchar_t'.
60807         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
60808         (PUSH_FAILURE_POINTER): Don't cast any more.
60809         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
60810         We want GCC to complain, since this piece of code makes
60811         re_match non-reentrant, which *should* be fixed.
60812         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
60813         (EXTEND_BUFFER): Use RETALLOC.
60814         (SET_LIST_BIT): Don't cast.
60815         (re_wchar_t): New type.
60816         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
60817         that those two functions will always properly return.
60818         (IMMEDIATE_QUIT_CHECK): Cast to void.
60819         (analyse_first): Use recursion rather than an explicit stack.
60820         (re_compile_fastmap): Can't fail anymore.
60821         (re_search_2): Don't check re_compile_fastmap for failure.
60822         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
60823         Now also sets the new value (passed in a new argument).
60824         (re_match_2_internal): Use it.
60825         Also, use a new var `reg' of type size_t when looping through regs
60826         rather than reuse the inappropriate `mcnt'.
60827
60828 2000-10-25  Jim Meyering  <meyering@lucent.com>
60829
60830         * lib/obstack.c: Update from libc.
60831
60832 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
60833
60834         * regex.c (regex_compile): Change the way of handling a range from
60835         a char less than 256 to a char not less than 256.
60836
60837 2000-10-24  Andrew Innes  <andrewi@gnu.org>
60838
60839         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
60840         NT-Emacs only.
60841         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
60842         so that re_search functions only quit when callers expect them to.
60843
60844 2000-10-23  Jim Meyering  <meyering@lucent.com>
60845
60846         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
60847         wrong.  That set_locale call must not have any side effects.
60848         From Paul Eggert.
60849
60850 2000-10-22  Jim Meyering  <meyering@lucent.com>
60851
60852         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
60853         [CYCLIC]: Remove now-unused definition.
60854
60855         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
60856         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
60857         Suggestion from Ulrich Drepper.
60858
60859 2000-10-21  Jim Meyering  <meyering@lucent.com>
60860
60861         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
60862         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
60863         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
60864
60865 2000-10-21  Jim Meyering  <meyering@lucent.com>
60866
60867         * lib/dirname.c (memrchr): Declare if necessary.
60868         (dir_name): Remove the restriction that there be no
60869         trailing slashes.  Now, this code skips past them, effectively
60870         ignoring them.
60871         [TEST_DIRNAME] (main): New unit tests.
60872
60873         * lib/memrchr.c: New file from GNU libc.
60874         Undef __memrchr, too.
60875         [!weak_alias]: Define __memrchr to memrchr.
60876         Guard weak_alias use with `#ifdef weak_alias'.
60877
60878 2000-10-21  Jim Meyering  <meyering@lucent.com>
60879
60880         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
60881         (dir_name): Use dir_name_r.
60882         * lib/dirname.h (dir_name_r): Declare it.
60883
60884 2000-10-17  Jim Meyering  <meyering@lucent.com>
60885
60886         * lib/quote.h (PARAMS): Define and use.
60887         Reported by Akim Demaille.
60888
60889         * lib/getopt.c: Update from libc.
60890
60891 2000-10-16  Jim Meyering  <meyering@lucent.com>
60892
60893         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
60894         setlocale.
60895         From Jan Fedak.
60896
60897 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
60898
60899         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
60900
60901 2000-09-25  Jim Meyering  <meyering@lucent.com>
60902
60903         * lib/md5.h (rol): Define (from GnuPG).
60904
60905         * lib/sha.c: Give credit (GnuPG) where due.
60906         (M): Use rol rather than open-coding it.
60907         Add a FIXME comment.
60908
60909 2000-09-21  Jim Meyering  <meyering@lucent.com>
60910
60911         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
60912         Reported by Michael Stone.
60913
60914 2000-09-20  Jim Meyering  <meyering@lucent.com>
60915
60916         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
60917         (noinst_HEADERS): Add sha.h.
60918         Based on code from Scott G. Miller and from GnuPG.
60919
60920 2000-09-18  Jim Meyering  <meyering@lucent.com>
60921
60922         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
60923         LIBS. Otherwise, everyone ends up linking with -lelf for some
60924         configurations.
60925         Reported by Mike Stone.
60926
60927 2000-09-15  Jim Meyering  <meyering@lucent.com>
60928
60929         * lib/regex.c: Update from libc.
60930
60931 2000-09-10  Jim Meyering  <meyering@lucent.com>
60932
60933         * lib/getopt.c (_getopt_internal): Update from glibc.
60934
60935 2000-09-09  Jim Meyering  <meyering@lucent.com>
60936
60937         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
60938         think it should be used as a general replacement for isascii.
60939         * lib/fnmatch.c: Likewise.
60940         * lib/mbswidth.c: Likewise
60941         * lib/regex.c: Likewise.
60942
60943         Don't use atoi.
60944         * lib/userspec.c: Include sys/param.h and limits.h.
60945         Include xstrtol.h.
60946         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
60947         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
60948         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
60949         UID, GID.  Check range.
60950
60951 2000-09-06  Jim Meyering  <meyering@lucent.com>
60952
60953         * lib/getopt.c (_getopt_internal): Update from glibc.
60954
60955 2000-08-30  Jim Meyering  <meyering@lucent.com>
60956
60957         * lib/strftime.c: Merge in changes from GNU libc.
60958
60959 2000-08-26  Jim Meyering  <meyering@lucent.com>
60960
60961         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
60962         * m4/fpending.m4: New file.
60963
60964 2000-08-26  Jim Meyering  <meyering@lucent.com>
60965
60966         * lib/closeout.c: Include "__fpending.h".
60967         (close_stdout_status): Return right away if there's nothing to flush.
60968
60969         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
60970         * lib/__fpending.c: New file.
60971         * lib/__fpending.h: New file.
60972
60973 2000-08-20  Jim Meyering  <meyering@lucent.com>
60974
60975         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
60976         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
60977         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
60978
60979 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
60980
60981         Improve fileutils installation on systems where running
60982         programs (like install) can't be unlinked.
60983         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
60984         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
60985
60986 2000-08-07  Paul Eggert  <eggert@twinsun.com>
60987
60988         Standardize on "memory exhausted" instead of "Memory exhausted"
60989         or "virtual memory exhausted".
60990         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
60991         "virtual memory exhausted".
60992         * lib/same.c (same_name): Invoke xalloc_die instead of printing
60993         our own message.
60994         * lib/userspec.c (parse_user_spec): Likewise.
60995         * lib/bumpalloc.h: comment fix
60996         * lib/same.c, userspec.c: Include xalloc.h.
60997
60998         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
60999         not char *const and pointing to a constant array.
61000         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
61001         (xrealloc): Comment fix.
61002
61003         * lib/userspec.c (parse_user_spec):
61004         Don't translate a message until just before returning,
61005         to avoid unnecessary translation.
61006
61007 2000-08-07  Jim Meyering  <meyering@lucent.com>
61008
61009         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
61010         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
61011         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
61012         getgroups.c, gethostname.c, getopt.h, group-member.c,
61013         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
61014         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
61015         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
61016         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
61017         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
61018         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
61019         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
61020         yesno.c: Back out Copyright date changes for each file with no change
61021         this year.  This eases coordination with other programs using the same
61022         source code modules.  From Paul Eggert.
61023
61024 2000-08-06  Paul Eggert  <eggert@twinsun.com>
61025
61026         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
61027         not char, for compatibility with glibc 2.1.3 strftime.c.
61028
61029 2000-08-03  Greg McGary  <greg@mcgary.org>
61030
61031         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
61032         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
61033         (EXTEND_BUFFER): Use them.
61034
61035 2000-08-01  Jim Meyering  <meyering@lucent.com>
61036
61037         * lib/dirname.c (ISSLASH): Define.
61038         (BACKSLASH_IS_PATH_SEPARATOR): Define.
61039         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
61040         both `\' and `/' may be use as path separators.
61041         Based on a patch from Prashant TR.
61042
61043 2000-07-31  Paul Eggert  <eggert@twinsun.com>
61044
61045         * lib/quotearg.c (quotearg_n_options): Don't make the initial
61046         slot vector a constant, since it might get modified.
61047
61048 2000-07-31  Jim Meyering  <meyering@lucent.com>
61049
61050         * lib/xmalloc.c: Use `virtual memory exhausted', not
61051         `Memory exhausted'.
61052         * lib/obstack.c (print_and_abort): Likewise.
61053
61054 2000-07-30  Paul Eggert  <eggert@twinsun.com>
61055
61056         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
61057         buffer, so that the caller can always quote one small
61058         component of a "memory exhausted" message in slot 0.
61059         From a suggestion by Jim Meyering.
61060
61061 2000-07-30  Jim Meyering  <meyering@lucent.com>
61062
61063         * lib/makepath.c (make_path): Quote the other instance, too.
61064
61065         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
61066         (STATIC_BUF_SIZE): Define.
61067         (quotearg_n_options): Use only statically allocated storage when
61068         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
61069         than STATIC_BUF_SIZE.
61070
61071 2000-07-29  Jim Meyering  <meyering@lucent.com>
61072
61073         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
61074         * lib/dirname.c (dir_name): Likewise.
61075
61076         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
61077         `/'.
61078
61079         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
61080         (dir_name): Assert that there are no trailing slashes.
61081
61082 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
61083
61084         * lib/mbswidth.h (mbswidth): Add a flags argument.
61085         (mbswidth): New declaration.
61086         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
61087         * lib/mbswidth.c (mbswidth): Add a flags argument.
61088         (mbsnwidth): New function.
61089
61090 2000-07-24  Jim Meyering  <meyering@lucent.com>
61091
61092         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
61093
61094 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61095
61096         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
61097
61098 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61099
61100         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
61101         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
61102         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
61103         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
61104         invoke multibyte primitives.
61105
61106 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61107
61108         * lib/quotearg.c:
61109         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
61110         so that mbstate_t is always defined.
61111
61112         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
61113         be 1 in at least one GCC installation, and this configuration
61114         error is likely to be common.  Ignoring MB_LEN_MAX hurts
61115         performance on hosts that have mbrtowc but have only unibyte
61116         locales, but I assume these hosts are rare.
61117
61118 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61119
61120         * lib/mbswidth.c (_XOPEN_SOURCE):
61121         Don't define; this causes problems on Solaris 7.
61122         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
61123
61124 2000-07-23  Jim Meyering  <meyering@lucent.com>
61125
61126         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
61127         too: getgrgid, getpwuid, getuid.
61128
61129 2000-07-23  Jim Meyering  <meyering@lucent.com>
61130
61131         * lib/basename.c (base_name): Add an assertion.
61132
61133 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
61134
61135         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
61136         shadow its mbsinit function.
61137
61138 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
61139
61140         * lib/mbswidth.h: New file.
61141         * lib/mbswidth.c: New file.
61142         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
61143         (noinst_HEADERS): Add mbswidth.h.
61144
61145 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
61146
61147         * lib/config.charset: Add support for FreeBSD. Improve support for
61148         HP-UX and IRIX 6.
61149
61150 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
61151
61152         * m4/mbswidth.m4: New file.
61153         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
61154
61155 2000-07-15  Jim Meyering  <meyering@lucent.com>
61156
61157         * lib/makepath.c: Include quote.h.
61158         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
61159         corresponding argument in a `quote (...)' call.
61160         Give better diagnostics.
61161
61162         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
61163         (noinst_HEADERS): Add quote.h.
61164
61165         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
61166         from tar's src/misc.c.
61167         * lib/quote.h: New file.  Prototypes for same.
61168
61169 2000-07-14  Paul Eggert  <eggert@twinsun.com>
61170
61171         From a suggestion by Bruno Haible.
61172         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
61173         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
61174         to decide whether to define the BeOS workaround macro;
61175         this adjusts to the change to AC_MBSTATE_T.
61176
61177 2000-07-14  Jim Meyering  <meyering@lucent.com>
61178
61179         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
61180         jm_AC_TYPE_UINTMAX_T.
61181
61182 2000-07-13  Paul Eggert  <eggert@twinsun.com>
61183
61184         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
61185
61186         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
61187         quotearg_buffer_restyled): Add support for
61188         clocale_quoting_style.  Undo previous change to
61189         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
61190         and "{RIGHT QUOTATION MARK}" msgids.
61191
61192 2000-07-10  Paul Eggert  <eggert@twinsun.com>
61193
61194         From a suggestion by Bruno Haible.
61195         * m4/mbstate_t.m4 (AC_MBSTATE_T):
61196         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
61197         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
61198         and mbstate_t, to a single-part test that simply defines mbstate_t.
61199         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
61200         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
61201
61202 2000-07-10  Jim Meyering  <meyering@lucent.com>
61203
61204         * m4/strerror_r.m4: Mirror the correction made in autoconf.
61205
61206         * m4/gnu-source.m4: Output to confdefs.h directly.
61207         Suggestion from Akim Demaille.
61208
61209 2000-07-09  Paul Eggert  <eggert@twinsun.com>
61210
61211         The old behavior of quoting `like this' doesn't look good with
61212         newer, ISO-style fonts.  See:
61213         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
61214
61215         Instead, quote "like this" by default.  Let the translator
61216         tailor the locale-specific quoting behavior by providing
61217         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
61218
61219         * lib/quotearg.c (N_): New macro.
61220         (gettext_default): New function.
61221         (quotearg_buffer_restyled): Use
61222         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
61223         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
61224
61225 2000-07-09  Jim Meyering  <meyering@lucent.com>
61226
61227         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
61228         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
61229
61230         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
61231         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
61232
61233 2000-07-09  Jim Meyering  <meyering@lucent.com>
61234
61235         * lib/Most files: Update copyright dates to include 2000.
61236
61237 2000-07-08  Jim Meyering  <meyering@lucent.com>
61238
61239         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
61240         if not defined.
61241         (xgethostname): Remove now-unnecessary #ifdef.
61242         Move declaration of `err' into loop where it's used.
61243
61244 2000-07-05  Paul Eggert  <eggert@twinsun.com>
61245         and Bruno Haible  <haible@clisp.cons.org>
61246
61247         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
61248         only if the test for an object-type mbstate_t fails.  This
61249         prevents us from mistakenly reporting that mbstate_t is a
61250         system object type after we "#define mbstate_t int" to work
61251         around its lack.
61252
61253 2000-07-05  Paul Eggert  <eggert@twinsun.com>
61254         and Bruno Haible  <haible@clisp.cons.org>
61255
61256         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
61257
61258 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
61259
61260         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
61261         to strerror_r.
61262         Include <ctype.h> for use of isalpha.
61263
61264 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
61265
61266         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
61267         by allocating a larger buffer. Test the gethostname return value for
61268         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
61269         returns an error and ENAMETOOLONG isn't defined.
61270
61271 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
61272
61273         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
61274         dimension.
61275
61276 2000-07-04  Jim Meyering  <meyering@lucent.com>
61277
61278         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
61279         of the deprecated AC_CHECKING.
61280
61281 2000-07-04  Jim Meyering  <meyering@lucent.com>
61282
61283         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
61284         Reported by Bruno Haible.
61285
61286 2000-07-04  Jim Meyering  <meyering@lucent.com>
61287
61288         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
61289         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
61290         lacks mbrtowc.
61291
61292 2000-07-03  Paul Eggert  <eggert@twinsun.com>
61293
61294         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
61295         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
61296
61297 2000-07-03  Paul Eggert  <eggert@twinsun.com>
61298         and Bruno Haible  <haible@clisp.cons.org>
61299
61300         * lib/quotearg.c (mbrtowc):
61301         Assign to *pwc, and return 1 only if result is nonzero.
61302         (iswprint): Use ISPRINT when substituting our own mbrtowc.
61303
61304 2000-07-03  Jim Meyering  <meyering@lucent.com>
61305
61306         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
61307
61308 2000-07-03  Jim Meyering  <meyering@lucent.com>
61309
61310         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
61311         This is necessary to get a definition of e.g., UTMP_FILE on
61312         HP-UX 10.20.
61313         From Bob Proulx.
61314
61315 2000-07-02  Jim Meyering  <meyering@lucent.com>
61316
61317         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
61318
61319         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
61320         AC_LIBOBJ(function_name).
61321         * m4/chown.m4: Likewise.
61322         * m4/fnmatch.m4: Likewise.
61323         * m4/ftruncate.m4: Likewise.
61324         * m4/getgroups.m4: Likewise.
61325         * m4/getline.m4: Likewise.
61326         * m4/group-member.m4: Likewise.
61327         * m4/jm-macros.m4: Likewise.
61328         * m4/lstat.m4: Likewise.
61329         * m4/malloc.m4: Likewise.
61330         * m4/memcmp.m4: Likewise.
61331         * m4/nanosleep.m4: Likewise.
61332         * m4/putenv.m4: Likewise.
61333         * m4/realloc.m4: Likewise.
61334         * m4/regex.m4: Likewise.
61335         * m4/stat.m4: Likewise.
61336         * m4/strftime.m4: Likewise.
61337
61338 2000-07-02  Jim Meyering  <meyering@lucent.com>
61339
61340         * lib/quotearg.c (mbstate_t): Don't define here.
61341
61342 2000-07-02  Jim Meyering  <meyering@lucent.com>
61343
61344         * lib/nanosleep.c (SIGCONT): Define if not already defined.
61345
61346 2000-07-01  Jim Meyering  <meyering@lucent.com>
61347
61348         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
61349
61350 2000-07-01  Jim Meyering  <meyering@lucent.com>
61351
61352         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
61353         problem.
61354
61355 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
61356
61357         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
61358         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
61359
61360 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
61361
61362         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
61363         per change in ../m4/ls-mntd-fs.m4.
61364         (read_filesystem_list): Ignore symbolic links.
61365
61366 2000-06-29  Jim Meyering  <meyering@lucent.com>
61367
61368         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
61369         for declaration of strcmp.
61370
61371         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
61372
61373         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
61374         Avoid warning by casting result to `char *' to remove `const'.
61375
61376 2000-06-28  Jim Meyering  <meyering@lucent.com>
61377
61378         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
61379         included by quotearg.c, for which we perform this test.  From
61380         Bruno Haible.
61381
61382 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
61383
61384         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
61385         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
61386         <utmpx.h> exists, put readutmp.o into LIBOBJS.
61387
61388 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
61389
61390         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
61391
61392 2000-06-26  Paul Eggert  <eggert@twinsun.com>
61393
61394         savedir now sets errno on failure and invokes xmalloc to get memory.
61395         Fix a couple of other minor bugs while we're at it.
61396
61397         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
61398         (NAMLEN): Remove macro.
61399         (malloc, realloc): Remove decls.
61400         (stpcpy): Likewise.
61401         ("xalloc.h"): Include.
61402         (NAME_SIZE_DEFAULT): New macro.
61403         (savedir): Use xmalloc / xrealloc to allocate memory.
61404         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
61405         Skip "" directory entries.
61406         Use strlen to calculate directory entry length, since the old method
61407         is rarely used these days and isn't worth supporting.
61408         Don't use a pointer after freeing it.
61409         Check for integer overflow when calculating allocation size.
61410         Use memcpy to copy entries, instead of stpcpy.
61411         Set errno properly when returning NULL.
61412         Check for readdir error.
61413
61414 2000-06-26  Jim Meyering  <meyering@lucent.com>
61415
61416         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
61417
61418 2000-06-25  Jim Meyering  <meyering@lucent.com>
61419
61420         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
61421         Linux header bug when _XOPEN_SOURCE is defined to 500.
61422
61423 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
61424
61425         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
61426         deficiency.
61427
61428 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
61429
61430         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
61431         Include xalloc.h.
61432         Don't include <stdlib.h>.  Don't declare malloc, realloc.
61433
61434 2000-06-24  Jim Meyering  <meyering@lucent.com>
61435
61436         * m4/strerror_r.m4: Revive this file -- to try out an experimental
61437         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
61438         for which strerror does return char*, but which lacks a conveniently
61439         accessible declaration of the function.  If the compile-test says
61440         strerror_r doesn't work, then resort to a `run'-test that works on
61441         BeOS and segfaults on DEC Unix.
61442
61443 2000-06-24  Jim Meyering  <meyering@lucent.com>
61444
61445         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
61446
61447 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61448
61449         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
61450         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
61451
61452 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61453
61454         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
61455         (mbrtowc, mbstate_t): Define substitutes if
61456         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
61457         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
61458         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
61459
61460 2000-06-23  Jim Meyering  <meyering@lucent.com>
61461
61462         * m4/afs.m4: Add missing AC_MSG_RESULT.
61463         Reported by Bruno Haible.
61464
61465         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
61466         Suggestion from Bruno Haible.
61467
61468 2000-06-23  Jim Meyering  <meyering@lucent.com>
61469
61470         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
61471
61472 2000-06-21  Jim Meyering  <meyering@lucent.com>
61473
61474         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
61475
61476 2000-06-21  Jim Meyering  <meyering@lucent.com>
61477
61478         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
61479         (noinst_HEADERS): Add getstr.h.
61480
61481         * lib/getline.c (getstr): Move into a separate file.
61482         * lib/getstr.c (getstr): New file, extracted from getline.c, with
61483         the following changes: new parameter, delim2; both delim[12]
61484         parameters have type `int', not `char'.  The latter would lose
61485         with 8-bit delimiters.
61486         * lib/getstr.h: New file.
61487
61488 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61489
61490         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
61491         than 1024, return a memory chunk of least possible size, instead
61492         of size PATH_MAX + 2. In the loop, increment the size proportionally.
61493         Use free/xmalloc instead of xrealloc to avoid copying for very long
61494         paths.
61495
61496 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61497
61498         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
61499         the empty string.
61500
61501 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61502
61503         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
61504         address, not strdup.  Include <stdlib.h> and don't declare free().
61505
61506 2000-06-19  Jim Meyering  <meyering@lucent.com>
61507
61508         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
61509
61510 2000-06-18  Jim Meyering  <meyering@lucent.com>
61511
61512         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
61513
61514         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
61515         `checking whether...' message to be consistent with that of the
61516         lstat test.
61517
61518 2000-06-18  Jim Meyering  <meyering@lucent.com>
61519
61520         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
61521         Besides, these days every porting target provides a mkdir function.
61522
61523         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
61524         needed. (this snippet comes from src/system.h).
61525
61526 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
61527
61528         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
61529
61530 2000-06-15  Paul Eggert  <eggert@twinsun.com>
61531
61532         * lib/human.c (adjust_value): New function.
61533         (human_readable_inexact): Apply rounding style even when
61534         printing approximate values.
61535
61536 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61537
61538         * lib/human.c (human_readable_inexact): Allow an input block
61539         size that is not a multiple of the output block size, and vice versa.
61540         Reported by Piergiorgio Sartor.
61541
61542 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61543
61544         * lib/getdate.y (get_date): Apply relative times after time
61545         zone indicator, not before.  Reported by Todd A. Jacobs.
61546
61547 2000-06-13  Jim Meyering  <meyering@lucent.com>
61548
61549         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
61550
61551         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
61552
61553 2000-06-12  Paul Eggert  <eggert@twinsun.com>
61554
61555         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
61556
61557 2000-06-12  Jim Meyering  <meyering@lucent.com>
61558
61559         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
61560         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
61561         optional argument.
61562         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
61563         the optional argument, `lib'.
61564
61565 2000-06-08  Jim Meyering  <meyering@lucent.com>
61566
61567         * m4/largefile.m4: Remove file (now that it's part of autoconf).
61568
61569 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61570
61571         Rewrite largefile configuration so that we don't need to run
61572         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
61573         AC_CANONICAL_HOST in configure.in -- jmm]
61574
61575         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
61576         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
61577         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
61578         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
61579         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
61580         All uses changed.
61581         Instead of inspecting the output of getconf, try to compile the
61582         test program without and with the macro definition.
61583         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
61584         for getconf.  Instead, check for the needed flags by compiling
61585         test programs.
61586
61587 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61588
61589         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
61590
61591 2000-06-04  Jim Meyering  <meyering@lucent.com>
61592
61593         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
61594         SunOS 4.1.4 for which gid_t is an unsigned type.
61595
61596 2000-06-03  Jim Meyering  <meyering@lucent.com>
61597
61598         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
61599         now that autoconf requires that.
61600
61601         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
61602         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
61603         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
61604
61605 2000-06-03  Jim Meyering  <meyering@lucent.com>
61606
61607         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
61608
61609 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61610
61611         * m4/glibc21.m4: New file.
61612         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
61613
61614 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61615
61616         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
61617         newer, don't install charset.alias.
61618         * lib/config.charset: Change the Linux/glibc rules so they become empty
61619         on glibc-2.1 or newer.
61620
61621 2000-06-02  Jim Meyering  <meyering@lucent.com>
61622
61623         * lib/mountlist.c: Back out last change.  Instead, do this...
61624         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
61625         me_dummy member using the same `ignore'-testing code.
61626         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
61627         fs_type strings.
61628         From Mark D. Roth.
61629
61630 2000-05-29  Jim Meyering  <meyering@lucent.com>
61631
61632         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
61633         mounts with the `ignore' attribute.  Based on a patch from
61634         Mark D. Roth.
61635
61636 2000-05-28  Jim Meyering  <meyering@lucent.com>
61637
61638         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
61639         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61640         * m4/stat.m4: Likewise.
61641         * m4/lstat.m4: Likewise.
61642         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
61643
61644         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
61645         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
61646
61647 2000-05-26  Jim Meyering  <meyering@lucent.com>
61648
61649         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
61650
61651 2000-05-24  Jim Meyering  <meyering@lucent.com>
61652
61653         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
61654         autoconf requires that.
61655         * m4/lib-check.m4: Likewise.
61656         * m4/jm-macros.m4: Likewise.
61657         * m4/strftime.m4: Likewise.
61658
61659         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
61660         AC_CHECK_DECLS, now that autoconf requires that.
61661
61662 2000-05-22  Jim Meyering  <meyering@lucent.com>
61663
61664         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61665         * m4/lstat.m4: Likewise.
61666
61667 2000-05-22  Jim Meyering  <meyering@lucent.com>
61668
61669         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
61670
61671 2000-05-20  Jim Meyering  <meyering@lucent.com>
61672
61673         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
61674         (jm_PREREQ): Use it.
61675
61676 2000-05-18  Jim Meyering  <meyering@lucent.com>
61677
61678         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
61679         back, too, since it may have been modified by allocate_entry.
61680         (hash_delete): Rewrite to use neither the assignment operator
61681         nor the comma operator in an if-expression.
61682
61683 2000-05-15  Paul Eggert  <eggert@twinsun.com>
61684
61685         * lib/closeout.c:
61686         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
61687         Remove; no longer needed.
61688         "quotearg.h": Add include.
61689         (file_name): Do not bother to explicitly initialize to NULL; it's less
61690         efficient on some hosts.
61691         (close_stdout_status): Remove test as to whether stdout was already
61692         closed; it breaks for the case "echo x | sort >&-".
61693         Quote file name colons.
61694         Do not assume that _("write error") lacks format strings.
61695
61696 2000-05-15  Jim Meyering  <meyering@lucent.com>
61697
61698         * lib/version-etc.c (version_etc_copyright): Update the copyright
61699         string used in all --version output.
61700
61701 2000-05-14  Jim Meyering  <meyering@lucent.com>
61702
61703         * lib/closeout.c (close_stdout_set_file_name): New function.
61704         (close_stdout_status): Use new file-scoped global.
61705         Return right away if fstat says the stdout file descriptor is invalid.
61706         * lib/closeout.h (close_stdout_set_file_name): Declare.
61707
61708 2000-05-10  Jim Meyering  <meyering@lucent.com>
61709
61710         * lib/closeout.c [default_exit_status]: New file-scoped variable.
61711         (close_stdout_set_status): New function.
61712         * lib/closeout.h (close_stdout_set_status): Declare.
61713
61714 2000-05-09  Jim Meyering  <meyering@lucent.com>
61715
61716         * m4/gettext.m4: Rename this...
61717         * m4/libintl.m4: ...to this.
61718
61719 2000-05-08  Jim Meyering  <meyering@lucent.com>
61720
61721         * lib/long-options.c: Don't include closeout.h.
61722         (parse_long_options): Don't call close_stdout for --version.
61723
61724 2000-05-06  Paul Eggert  <eggert@twinsun.com>
61725
61726         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
61727         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
61728         2.1.3 bug.  This avoids a clash when files like regex.c define
61729         _GNU_SOURCE.
61730
61731 2000-05-06  Jim Meyering  <meyering@lucent.com>
61732
61733         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
61734         (AC_REPLACE_FUNCS): Add strnlen.
61735
61736         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
61737         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
61738
61739         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
61740         AC_SEARCH_LIBS call for nanosleep.
61741         (LIB_NANOSLEEP): Set and AC_SUBST.
61742
61743 2000-05-06  Jim Meyering  <meyering@lucent.com>
61744
61745         * lib/strnlen.c: Undefine __strnlen and strnlen.
61746         [!weak_alias]: Define __strnlen to strnlen.
61747
61748         * lib/atexit.c: New file, from libiberty.
61749
61750 2000-05-06  Jim Meyering  <meyering@lucent.com>
61751
61752         * lib/closeout.c (close_stdout_status): Also check for errors on the
61753         stderr stream.
61754
61755 2000-05-05  Jim Meyering  <meyering@lucent.com>
61756
61757         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
61758         AC_SEARCH_LIBS call for clock_gettime.
61759         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
61760
61761         * m4/search-libs.m4: Update from autoconf.
61762
61763         su doesn't work on Solaris 2.6.
61764         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
61765         <shadow.h>.  Reported by Dragos Harabor.
61766
61767 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
61768
61769         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
61770         memcpy instead of xmalloc, xrealloc, path_concat.
61771         (locale_charset): Treat empty environment variables as absent.
61772         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
61773
61774 2000-05-04  Jim Meyering  <meyering@lucent.com>
61775
61776         * lib/getopt.c: Update from glibc.
61777         * lib/obstack.c: Likewise.
61778         * lib/obstack.h: Likewise.
61779         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
61780         file
61781
61782         * lib/regex.h: Likewise.
61783         * lib/strndup.c: Likewise.
61784         * lib/strnlen.c: New file, from glibc.
61785
61786 2000-05-03  Jim Meyering  <meyering@lucent.com>
61787
61788         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
61789
61790 2000-05-02  Paul Eggert  <eggert@twinsun.com>
61791
61792         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
61793         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
61794         compile-time test, rather than inspecting host and OS, to
61795         decide whether to define _LARGEFILE_SOURCE.
61796
61797 2000-05-01  Jim Meyering  <meyering@lucent.com>
61798
61799         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
61800
61801         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
61802         Based on a patch from Bruno Haible.
61803
61804 2000-05-01  Jim Meyering  <meyering@lucent.com>
61805
61806         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
61807
61808 2000-04-29  Jim Meyering  <meyering@lucent.com>
61809
61810         * lib/path-concat.c: Declare strdup only if it's not defined.
61811         * lib/canon-host.c: Likewise.
61812
61813 2000-04-28  Jim Meyering  <meyering@lucent.com>
61814
61815         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
61816         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
61817         is included first, then limits.h is included by locale.h by libintl.h.
61818         From John David Anglin.
61819
61820 2000-04-25  Jim Meyering  <meyering@lucent.com>
61821
61822         * lib/makepath.c (S_IRWXUGO): Define.
61823         (make_path): Always perform explicit chmod if MODE specifies any
61824         of the `special' permission bits.  Prompted by a bug report against
61825         install from Mate Wierdl and Joost van Baal.
61826
61827 2000-04-18  Jim Meyering  <meyering@lucent.com>
61828
61829         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
61830         (jm_PREREQ): Use it.
61831
61832 2000-04-18  Jim Meyering  <meyering@lucent.com>
61833
61834         * lib/README: New file.
61835
61836         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
61837         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
61838
61839 2000-04-17  Jim Meyering  <meyering@lucent.com>
61840
61841         Get it right :-)
61842         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
61843         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
61844         Suggestion from Akim Demaille.
61845
61846 2000-04-17  Jim Meyering  <meyering@lucent.com>
61847
61848         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
61849         the definition of it to rpl_strftime also defined-away the system's
61850         declaration.
61851
61852 2000-04-15  Jim Meyering  <meyering@lucent.com>
61853
61854         Use `C' to denote so-called `contiguous' files, the same way
61855         that tar does.
61856         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
61857         (ftypelet): Use S_ISCTG.
61858         From Michael Deutschmann.
61859
61860 2000-04-14  Jim Meyering  <meyering@lucent.com>
61861
61862         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
61863         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
61864         clobbered.
61865
61866 2000-04-14  Jim Meyering  <meyering@lucent.com>
61867
61868         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
61869
61870 2000-04-13  Jim Meyering  <meyering@lucent.com>
61871
61872         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
61873         AH_VERBATIM to insert required #ifndef into config.h.in.
61874         Suggestion from Akim Demaille.
61875
61876 2000-04-12  Jim Meyering  <meyering@lucent.com>
61877
61878         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
61879         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
61880         Christian Krackowizer.
61881
61882         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
61883         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
61884         (AC_SYS_LARGEFILE): Require.
61885         (AM_C_PROTOTYPES): Require.
61886
61887 2000-04-08  Jim Meyering  <meyering@lucent.com>
61888
61889         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
61890         names don't conflict.  Reported by Eli Zaretskii.
61891
61892 2000-04-07  Jim Meyering  <meyering@lucent.com>
61893
61894         * lib/putenv.c: Move inclusion of errno.h so it follows that of
61895         sys/types.h, to work around system header problems on AIX 3.2.5.
61896         From Bruno Haible.
61897
61898 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
61899
61900         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
61901         bug.  Deal with the different error behavior of Irix iconv.
61902
61903 2000-04-05  Paul Eggert  <eggert@twinsun.com>
61904
61905         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
61906         IRIX if the installer said otherwise.
61907
61908 2000-04-05  Jim Meyering  <meyering@lucent.com>
61909
61910         Portability tweaks required for ultrix4.3.
61911         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
61912         (jm_CHECK_DECLS): Add getutent to the list of functions.
61913         (_jm_DECL_HEADERS): Add utmpx.h.
61914         From John David Anglin.
61915
61916         * m4/strftime.m4: Back out the 2000-04-02 change.
61917         Instead of that change, simply undefine putenv in the test program.
61918
61919 2000-04-05  Jim Meyering  <meyering@lucent.com>
61920
61921         Portability tweaks required for ultrix4.3.
61922         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
61923         getutent.
61924         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
61925         * lib/canon-host.c: Declare strdup.
61926         * lib/path-concat.c: Likewise.
61927         From John David Anglin.
61928
61929 2000-04-04  Jim Meyering  <meyering@lucent.com>
61930
61931         Be more DOS 8.3-friendly.
61932         * lib/ref-add.sin: Renamed from ref-add.sed.in.
61933         * lib/ref-del.sin: Renamed from ref-del.sed.in.
61934         * lib/Makefile.am: Reflect renaming.
61935         Reported by Eli Zaretskii.
61936
61937         Use a temporary file name that won't clash with `charset.alias'
61938         in the DOS 8.3 name space.
61939         * lib/Makefile.am (charset_tmp): Define.
61940         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
61941         (uninstall-local): Likewise.
61942         Reported by Eli Zaretskii.
61943
61944 2000-04-03  Jim Meyering  <meyering@lucent.com>
61945
61946         * m4/gettext.m4: Fix typo in comment.
61947
61948         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
61949         textutils/configure.in).  Suggestion from Paul Eggert.
61950         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
61951
61952 2000-04-02  Paul Eggert  <eggert@twinsun.com>
61953
61954         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
61955         variable in the shell rather than using putenv, which isn't
61956         portable.  This avoids the configure-time inter-test dependency
61957         on the potentially-renamed putenv function.
61958
61959 2000-03-30  Paul Eggert  <eggert@twinsun.com>
61960
61961         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
61962         before checking struct stat.st_blksize, so that
61963         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
61964
61965 2000-03-29  Paul Eggert  <eggert@twinsun.com>
61966
61967         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
61968         since strftime.c uses HAVE_STRFTIME to decide whether to use
61969         the underlying strftime.
61970
61971 2000-03-29  Paul Eggert  <eggert@twinsun.com>
61972
61973         * lib/time/strftime.c (my_strftime): Make sure we call the system
61974         strftime, not ourselves, when invoking the underlying strftime.
61975
61976 2000-03-24  Jim Meyering  <meyering@lucent.com>
61977
61978         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
61979         (charset_alias): Define.
61980         (install-exec-local): Factor out common code.
61981         (uninstall-local): Split lines longer than 80.
61982         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
61983         (SUFFIXES): Define.
61984         (.sed.in.sed): New rule.  Don't redirect directly to $@.
61985         (CLEANFILES): Add ref-add.sed and ref-del.sed.
61986
61987 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
61988
61989         * lib/config.charset: Output a line containing "Packages using this
61990         file".
61991         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
61992         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
61993         ref-del.sed): New rules.
61994
61995 2000-03-17  Jim Meyering  <meyering@lucent.com>
61996
61997         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
61998         Otherwise, include <strings.h>
61999
62000 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
62001
62002         * lib/unicodeio.c (utf8_wctomb): New function.
62003         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
62004         format instead of in UCS-4 with platform dependent endianness.
62005
62006 2000-03-10  Jim Meyering  <meyering@lucent.com>
62007
62008         * m4/lib-check.m4: Look for getspnam in -lgen, too.
62009         From Marco Franzen.
62010
62011 2000-03-07  Paul Eggert  <eggert@twinsun.com>
62012
62013         * lib/savedir.c (savedir): Work even if directory size is
62014         negative; this can happen with some screwy NFS configurations.
62015
62016 2000-03-06  Jim Meyering  <meyering@lucent.com>
62017
62018         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
62019         if it's NULL (because we ran out of memory).  From Bruno Haible.
62020
62021 2000-03-05  Jim Meyering  <meyering@lucent.com>
62022
62023         * lib/localcharset.c ("path-concat.h"): Include.
62024         (get_charset_aliases): Use path_concat instead of ANSI string
62025         concatenation.
62026
62027         * lib/unicodeio.h (PARAMS): Define.
62028         Use it to guard prototype.
62029
62030 2000-03-04  Jim Meyering  <meyering@lucent.com>
62031
62032         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
62033         for lib/localcharset.c.
62034
62035 2000-03-04  Jim Meyering  <meyering@lucent.com>
62036
62037         * lib/Makefile.am (install-exec-local): Create $(libdir) before
62038         installing into it.
62039         (uninstall-local): Uncomment this rule so `make distcheck' works
62040         once again.
62041
62042         * lib/unicodeio.c (<errno.h>): Include it.
62043         (errno): Declare if not defined.
62044
62045         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
62046
62047         * lib/config.charset: New version, incorporating remarks from a linux
62048         i18n mailing list.  From Bruno Haible.
62049
62050 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
62051
62052         * m4/codeset.m4: New file.
62053         * m4/iconv.m4: New file.
62054         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
62055
62056 2000-03-03  Jim Meyering  <meyering@lucent.com>
62057
62058         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
62059
62060 2000-03-02  Jim Meyering  <meyering@lucent.com>
62061
62062         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
62063         the messages come out on separate lines.
62064
62065         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
62066         rather than jm_CHECK_DECLARATIONS.
62067         * m4/decl.m4: Remove now-unused file.
62068
62069         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
62070         geteuid.
62071
62072 2000-03-02  Jim Meyering  <meyering@lucent.com>
62073
62074         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
62075
62076 2000-03-01  Jim Meyering  <meyering@lucent.com>
62077
62078         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
62079         * lib/unicodeio.c: Likewise.
62080
62081 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
62082
62083         * lib/config.charset: New file.
62084         * lib/localcharset.c: New file.
62085         * lib/unicodeio.h, lib/unicodeio.c: New files.
62086         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
62087         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
62088         (noinst_HEADERS): Add unicodeio.h.
62089         (all-local, install-exec-local, charset.alias): New targets.
62090
62091 2000-02-28  Paul Eggert  <eggert@twinsun.com>
62092
62093         * lib/quotearg.c (ALERT_CHAR): New macro.
62094         (quotearg_buffer_restyled): Use it.
62095
62096 2000-02-27  Jim Meyering  <meyering@lucent.com>
62097
62098         * m4/check-decl.m4: Add getenv to the list.
62099
62100 2000-02-27  Jim Meyering  <meyering@lucent.com>
62101
62102         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
62103         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
62104
62105         * lib/backupfile.c: Guard inclusion of stdlib.h with
62106         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
62107         Declare malloc if needed.
62108
62109         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
62110         `#ifndef HAVE_DECL..'
62111         now that autoconf always defines the HAVE_DECL_ symbols.
62112         * lib/human.c: Likewise.
62113         * lib/same.c: Likewise.
62114         * lib/strtoumax.c: Likewise.
62115
62116         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
62117         declaration check was not run.
62118         * lib/hash.c: Likewise.
62119         * lib/human.c: Likewise.
62120         * lib/same.c: Likewise.
62121         * lib/strtoumax.c: Likewise.
62122
62123         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
62124         `.', then first look up the entire `.'-containing string as a login
62125         name.
62126
62127 2000-02-23  Jim Meyering  <meyering@lucent.com>
62128
62129         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
62130         in place of my hack.
62131
62132 2000-02-18  Paul Eggert  <eggert@twinsun.com>
62133
62134         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
62135         (textint): New typedef.
62136         (parser_control): Member year changed from int to textint.
62137         All uses changed.
62138         (YYSTYPE): Removed; replaced by %union with int and textint members.
62139         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
62140         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
62141         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
62142         (tSNUMBER, tUNUMBER): Now of type <textintval>.
62143         (date, number, to_year): Use width of number in digits, not its value,
62144         to determine whether it's a 2-digit year, or a 2-digit time.
62145         (yylex): Store number of digits of numeric tokens.
62146         Reported by John Kendall.
62147
62148         (parser_control): Changed from struct parser_control to typedef (for
62149         consistency).  All uses changed.
62150
62151         (tID): Removed; not used.
62152         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
62153
62154 2000-02-14  Paul Eggert  <eggert@twinsun.com>
62155
62156         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
62157         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
62158
62159 2000-02-12  Jim Meyering  <meyering@lucent.com>
62160
62161         * lib/userspec.c (ISDIGIT): Define it.
62162         (isdigit): Remove definition.
62163         (is_number): Use ISDIGIT, not isdigit.
62164         <libintl.h>: Include.
62165         (_ and N_): Define.
62166         (parse_user_spec): Mark translatable strings.
62167
62168 2000-02-10  Jim Meyering  <meyering@lucent.com>
62169
62170         With these changes, nanosleep.[ch] are finally enough like the other
62171         lib/* replacement files to compile on a few more losing systems.
62172
62173         * lib/nanosleep.h: Don't include config.h.
62174         Remove prototype from declaration of nanosleep.
62175         (PARAMS): Remove now-unneeded definition.
62176         * lib/nanosleep.c: #undef nanosleep.
62177         (rpl_nanosleep): Rename from nanosleep.
62178
62179 2000-02-10  Jim Meyering  <meyering@lucent.com>
62180
62181         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
62182         gnu_nanosleep to rpl_nanosleep.
62183
62184 2000-02-09  Jim Meyering  <meyering@lucent.com>
62185
62186         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
62187         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
62188
62189 2000-02-08  Akim Demaille  <akim@epita.fr>
62190
62191         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
62192         `[' and `]' and remove uses of `changequote'.
62193         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
62194         (AC_SYS_LARGEFILE): Likewise.
62195         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
62196         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
62197         of changequote.
62198         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
62199         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
62200         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
62201         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
62202
62203 2000-02-05  Jim Meyering  <meyering@lucent.com>
62204
62205         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
62206         Remove explicit use of AC_HEADER_TIME.  It is required by
62207         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
62208         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
62209         in autoconf whereby the expansion of the latter ended up preceding
62210         the expansion of its prerequisite, AC_HEADER_TIME.
62211         Reported by Volker Borchert.
62212
62213 2000-02-03  Jim Meyering  <meyering@lucent.com>
62214
62215         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
62216
62217 2000-02-03  Jim Meyering  <meyering@lucent.com>
62218
62219         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
62220         rather than with `#if HAVE_UTMPNAME'.
62221
62222 2000-02-02  Jim Meyering  <meyering@lucent.com>
62223
62224         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
62225         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
62226         Reported by Eli Zaretskii.
62227
62228 2000-02-01  Jim Meyering  <meyering@lucent.com>
62229
62230         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
62231
62232 2000-01-31  Jim Meyering  <meyering@lucent.com>
62233
62234         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
62235         functions.  Add the time.h and sys/time.h headers along with the
62236         AC_REQUIRE'ment of AC_HEADER_TIME.
62237
62238 2000-01-31  Jim Meyering  <meyering@lucent.com>
62239
62240         * lib/nanosleep.h (nanosleep): Guard declaration with
62241         `#if ! HAVE_DECL_NANOSLEEP'.
62242         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
62243         the declaration in that vendor's sys/timers.h.
62244         Reported by Christian Krackowizer.
62245
62246         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
62247         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
62248         (ISPRINT): Likewise.
62249         Reported by Tom Tromey.
62250
62251 2000-01-30  Jim Meyering  <meyering@lucent.com>
62252
62253         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
62254
62255         * m4/prereq.m4 (utmp_includes): Define.
62256         Check for ut_user and ut_name members in both struct utmpx
62257         and struct utmp.
62258
62259 2000-01-30  Jim Meyering  <meyering@lucent.com>
62260
62261         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
62262         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
62263         header files where only utmpx.ut_user is declared.
62264
62265         * lib/readutmp.h (UT_USER): Define.
62266
62267 2000-01-29  Jim Meyering  <meyering@lucent.com>
62268
62269         * m4/lib-check.m4: New file containing library-related checks from
62270         fileutils and sh-utils (textutils had none).
62271
62272 2000-01-28  Jim Meyering  <meyering@lucent.com>
62273
62274         * m4/perl.m4: Change format of warning message to look more like that
62275         from the missing script.  Suggestion from François Pinard.
62276
62277 2000-01-25  Jim Meyering  <meyering@lucent.com>
62278
62279         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
62280         well as time.h in the compile check.
62281         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
62282         Fix typo in cross-compiling case: s/yes/no/.
62283
62284 2000-01-23  Jim Meyering  <meyering@lucent.com>
62285
62286         * m4/jm-macros.m4: Move df-related tests here from
62287         fileutils/configure.in
62288
62289         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
62290         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
62291
62292         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
62293         s/space/ac_fsusage_space/.
62294         (jm_FILE_SYSTEM_USAGE): Take two parameters.
62295
62296         * m4/ftruncate.m4: New file (derived from part of
62297         fileutils/configure.in).
62298         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
62299         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
62300
62301         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
62302         AC_SUBST these here, rather than just in sh-util/configure.in, so
62303         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
62304         all the same.
62305         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
62306         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
62307         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
62308         (AC_SUBST(POW_LIBM)): Likewise.
62309         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
62310
62311 2000-01-23  Jim Meyering  <meyering@lucent.com>
62312
62313         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
62314         obstack.c.
62315
62316 2000-01-22  Jim Meyering  <meyering@lucent.com>
62317
62318         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
62319
62320         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
62321
62322         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
62323         configure.in
62324         (AC_CHECK_HEADERS): Likewise for sh-utils.
62325         (AC_CHECK_HEADERS): Likewise for textutils.
62326         Merge the three lists of headers.
62327
62328         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
62329         from fileutils' configure.in.
62330
62331         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
62332         code. Moved tests into their own function (_jm_DECL_HEADERS) in
62333         check-decl.m4.
62334
62335         * m4/check-decl.m4: Use #if rather than #ifdef.
62336         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
62337         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
62338         (_jm_DECL_HEADERS): Define new function.
62339         (jm_CHECK_DECLARATIONS): Require it.
62340
62341 2000-01-22  Jim Meyering  <meyering@lucent.com>
62342
62343         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
62344         [! HAVE_DECL_STRTOULL]: Declare strtoull.
62345         Required for some AIX systems.  Reported by Christian Krackowizer.
62346         [TESTING] (main): New function.
62347
62348         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
62349         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
62350         letters.
62351
62352         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
62353         iswprint.
62354
62355         * lib/strverscmp.c (ISDIGIT): Define.
62356         (strverscmp): Use ISDIGIT, not isdigit.
62357
62358 2000-01-19  Jim Meyering  <meyering@lucent.com>
62359
62360         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
62361         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
62362         defines `struct timespec' in <sys/time.h>
62363
62364         * m4/c-bs-a.m4: Remove uses of changequote altogether.
62365         Thanks to Akim for explaining.
62366
62367 2000-01-17  Paul Eggert  <eggert@twinsun.com>
62368
62369         * lib/nanosleep.c (nanosleep):
62370         Don't use SA_INTERRUPT to decide whether to call sigaction, as
62371         POSIX.1 doesn't require SA_INTERRUPT and some systems
62372         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
62373         it's been part of POSIX.1 since day 1 (in 1988).
62374
62375 2000-01-17  Jim Meyering  <meyering@lucent.com>
62376
62377         * lib/interlock: Remove unused file.  Reported by François Pinard.
62378
62379 2000-01-16  Paul Eggert  <eggert@twinsun.com>
62380
62381         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
62382         alert, backslash, formfeed, and vertical tab unnecessarily in
62383         shell quoting style.
62384
62385 2000-01-16  Jim Meyering  <meyering@lucent.com>
62386
62387         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
62388         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
62389         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
62390         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
62391
62392 2000-01-16  Jim Meyering  <meyering@lucent.com>
62393
62394         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
62395         because the latter didn't work.
62396
62397 2000-01-15  Jim Meyering  <meyering@lucent.com>
62398
62399         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
62400         (AC_REPLACE_FUNCS): Add memcpy and memset.
62401         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
62402         Add strpbrk.
62403         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
62404
62405 2000-01-12  Jim Meyering  <meyering@lucent.com>
62406
62407         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
62408         (jm_PREREQ): Use it.
62409         (jm_PREREQ_READUTMP): New macro.
62410         (jm_PREREQ): Use it.
62411
62412 2000-01-11  Paul Eggert  <eggert@twinsun.com>
62413
62414         Quote multibyte characters correctly.
62415         * m4/c-bs-a.m4: New file.
62416         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
62417         (jm_PREREQ): Use it.
62418
62419 2000-01-11  Paul Eggert  <eggert@twinsun.com>
62420
62421         * m4/uintmax_t.m4: Port to autoconf 2.13.
62422
62423 2000-01-08  Jim Meyering  <meyering@ascend.com>
62424
62425         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
62426         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
62427
62428 2000-01-04  Jim Meyering  <meyering@ascend.com>
62429
62430         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
62431         jm_STRUCT_DIRENT_D_TYPE.
62432         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
62433         jm_STRUCT_DIRENT_D_INO.
62434         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
62435         jm_STRUCT_UTIMBUF.
62436         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
62437         renamings.
62438         * m4/utime.m4: Likewise.
62439
62440         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
62441         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
62442
62443 2000-01-03  Paul Eggert  <eggert@twinsun.com>
62444
62445         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
62446         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
62447
62448 2000-01-02  Jim Meyering  <meyering@ascend.com>
62449
62450         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
62451         remember if this is necessary.
62452
62453 1999-12-26  Jim Meyering  <meyering@ascend.com>
62454
62455         * m4/jm-macros.m4: Use it here.
62456         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
62457
62458 1999-12-23  Jim Meyering  <meyering@ascend.com>
62459
62460         * m4/jm-macros.m4: Check for clock_gettime (moved from
62461         fileutils/configure.in)
62462         Check for gettimeofday.
62463
62464 1999-12-20  Jim Meyering  <meyering@ascend.com>
62465
62466         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
62467         autoconf-2.14a-1999-12-20.
62468
62469 1999-12-19  Jim Meyering  <meyering@ascend.com>
62470
62471         * m4/lstat-slash.m4: New file.
62472         * m4/jm-macros.m4: Use the new macro:
62473         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62474
62475 1999-12-07  Jim Meyering  <meyering@ascend.com>
62476
62477         * m4/perl.m4: Require that File::Compare be available, too.
62478         Too many systems seem to lack it.
62479
62480         * m4/strftime.m4: Add checks for most of the cpp macros tested in
62481         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
62482
62483 1999-11-18  Paul Eggert  <eggert@twinsun.com>
62484
62485         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
62486         problem with the QNX 4.25 shell, which doesn't propagate exit
62487         status of failed commands inside shell assignments.
62488
62489 1999-11-17  Jim Meyering  <meyering@ascend.com>
62490
62491         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
62492
62493 1999-11-07  Jim Meyering  <meyering@ascend.com>
62494
62495         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
62496
62497 1999-11-06  Jim Meyering  <meyering@ascend.com>
62498
62499         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
62500         * m4/jm-macros.m4 (jm_MACROS): Use it here.
62501
62502 1999-11-05  Jim Meyering  <meyering@ascend.com>
62503
62504         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
62505         configure.in of textutils, fileutils, and sh-utils into this one
62506         (shared between those packages) file.
62507         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
62508         AC_STRUCT_ST_BLKSIZE.
62509
62510 1999-11-03  Jim Meyering  <meyering@ascend.com>
62511
62512         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
62513         of AC_CHECK_TYPE checks includes unistd.h.
62514         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
62515         Suggestion from Akim Demaille.
62516
62517 1999-10-30  Jim Meyering  <meyering@ascend.com>
62518
62519         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
62520         m4-quoted string.
62521         * m4/ls-mntd-fs.m4: Likewise.
62522         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
62523         * m4/jm-winsz1.m4: Likewise.
62524
62525         * m4/const.m4: Remove file, since the fix made it into the experimental
62526         version of autoconf.
62527         * m4/mktime.m4: Likewise.
62528
62529         * m4/check-type.m4: Remove file, now that the latest version of
62530         AC_CHECK_TYPE takes a third arg to specify additional #includes.
62531
62532         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
62533         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
62534         AC_CHECK_TYPE.
62535
62536 1999-10-04  Jim Meyering  <meyering@ascend.com>
62537
62538         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
62539
62540 1999-09-22  Paul Eggert  <eggert@twinsun.com>
62541
62542         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
62543         2.95.1 bug with HP-UX 10.20.
62544
62545 1999-09-17  Jim Meyering  <meyering@ascend.com>
62546
62547         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
62548         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
62549         due to missing strdup (against sh-utils-2.0).
62550
62551 1999-08-29  Jim Meyering  <meyering@ascend.com>
62552
62553         * m4/jm-macros.m4: Require jm_BISON.
62554         * m4/bison.m4: New file.
62555
62556 1999-08-17  Paul Eggert  <eggert@twinsun.com>
62557
62558         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
62559         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
62560
62561 1999-08-05  Jim Meyering  <meyering@ascend.com>
62562
62563         * m4/getline.m4: Rename test file from conftestdata to conftest.data
62564         to avoid conflicts with `conftest' on 8+3 filesystems.
62565         Suggestion from Eli Zaretskii.
62566
62567 1999-08-04  Jim Meyering  <meyering@ascend.com>
62568
62569         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
62570         fileutils and sh-utils (textutils's getline test was inadequate).
62571         (AM_FUNC_GETLINE): Run this test.
62572         (AC_CHECK_FUNCS): Check for getdelim.
62573         Reported by Bob Proulx.
62574
62575 1999-08-02  Jim Meyering  <meyering@ascend.com>
62576
62577         * m4/jm-macros.m4: Add a comment.
62578
62579 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62580
62581         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
62582         <inttypes.h> defines strtoumax as a macro (and not as a
62583         function).
62584
62585 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62586
62587         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
62588         that we can shift, multiply and divide unsigned long long
62589         values; Ultrix cc can't do it.
62590
62591 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62592
62593         * m4/mktime.m4: New file, which is a preview of what should appear
62594         in the next public autoconf release.
62595
62596 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62597
62598         * m4/lfs.m4: Remove this file.
62599         * m4/largefile.m4: New file.  It contains the old contents of
62600         lfs.m4, except that all names with prefix AC_LFS have been
62601         changed to use the prefix AC_SYS_LARGEFILE instead, to be
62602         compatible with future autoconf versions.  Also, some minor m4
62603         quoting problems have been fixed.
62604
62605 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62606
62607         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
62608         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
62609         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
62610         and simplify the shell code.
62611
62612 1999-08-01  Jim Meyering  <meyering@ascend.com>
62613
62614         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
62615         m4.
62616
62617 1999-07-20  Jim Meyering  <meyering@ascend.com>
62618
62619         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
62620
62621 1999-07-15  Jim Meyering  <meyering@ascend.com>
62622
62623         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
62624
62625 1999-05-22  Jim Meyering  <meyering@ascend.com>
62626
62627         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
62628
62629 1999-05-20  Jim Meyering  <meyering@ascend.com>
62630
62631         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
62632         Add a colon after each `then' in case $4 is empty.
62633
62634 1999-05-16  Jim Meyering  <meyering@ascend.com>
62635
62636         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
62637
62638 1999-05-10  Jim Meyering  <meyering@ascend.com>
62639
62640         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
62641
62642         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
62643         AC_FUNC_MKTIME.
62644
62645 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
62646
62647         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
62648
62649 1999-05-04  Paul Eggert  <eggert@twinsun.com>
62650
62651         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
62652         not CPPFLAGS, so that linking works correctly in IRIX.
62653
62654 1999-04-30  Paul Eggert  <eggert@twinsun.com>
62655
62656         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
62657
62658 1999-04-20  Paul Eggert  <eggert@twinsun.com>
62659
62660         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
62661         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
62662         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
62663         jm_AC_TYPE_UNSIGNED_LONG_LONG.
62664         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
62665
62666         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
62667
62668 1999-04-20  Jim Meyering  <meyering@ascend.com>
62669
62670         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
62671         AC_REPLACE xstroull if necessary.  From Paul Eggert.
62672         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
62673
62674 1999-04-18  Jim Meyering  <meyering@ascend.com>
62675
62676         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
62677         * m4/jm-macros.m4: Use it.
62678
62679 1999-04-06  Jim Meyering  <meyering@ascend.com>
62680
62681         * m4/strftime.m4: Remove test for %f.
62682
62683 1999-03-29  Jim Meyering  <meyering@ascend.com>
62684
62685         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
62686         superset of the AC_TYPE_* checks in the textutils, fileutils,
62687         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
62688         AC_TYPE_PID_T.
62689
62690 1999-03-28  Jim Meyering  <meyering@ascend.com>
62691
62692         * m4/jm-macros.m4: Define GNU_PACKAGE here.
62693         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
62694         replaced e.g., in the *.sh files of the sh-utils.
62695
62696 1999-03-20  Jim Meyering  <meyering@ascend.com>
62697
62698         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
62699         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
62700         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
62701
62702 1999-03-19  Jim Meyering  <meyering@ascend.com>
62703
62704         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
62705
62706 1999-03-12  Jim Meyering  <meyering@ascend.com>
62707
62708         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
62709
62710 1999-03-07  Jim Meyering  <meyering@ascend.com>
62711
62712         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
62713         declared.
62714
62715 1999-02-17  Jim Meyering  <meyering@ascend.com>
62716
62717         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
62718         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
62719
62720 1999-02-07  Jim Meyering  <meyering@ascend.com>
62721
62722         * m4/group-member.m4: New file -- extracted from sh-utils'
62723         configure.in.
62724
62725         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
62726         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
62727
62728 1999-02-06  Jim Meyering  <meyering@ascend.com>
62729
62730         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
62731         * m4/fnmatch.m4: Likewise.
62732         * m4/getgroups.m4: Likewise.
62733         * m4/lstat.m4: Likewise.
62734         * m4/malloc.m4: Likewise.
62735         * m4/putenv.m4: Likewise.
62736         * m4/realloc.m4: Likewise.
62737         * m4/regex.m4: Likewise.
62738         * m4/stat.m4: Likewise.
62739         * m4/strftime.m4: Likewise.
62740         Suggestion from Alain Magloire.
62741
62742         * m4/chown.m4: Use `.$ac_objext', not `.o'.
62743         * m4/fnmatch.m4: Likewise.
62744         * m4/getgroups.m4: Likewise.
62745         * m4/getline.m4: Likewise.
62746         * m4/lstat.m4: Likewise.
62747         * m4/malloc.m4: Likewise.
62748         * m4/memcmp.m4: Likewise.
62749         * m4/putenv.m4: Likewise.
62750         * m4/realloc.m4: Likewise.
62751         * m4/regex.m4: Likewise.
62752         * m4/stat.m4: Likewise.
62753         * m4/strftime.m4: Likewise.
62754         Suggestion from Alain Magloire.
62755
62756         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
62757         an argument.
62758
62759         * m4/regex.m4: Add a run-time Test for proper operation of
62760         re_compile_pattern.
62761
62762 1999-01-31  Jim Meyering  <meyering@ascend.com>
62763
62764         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
62765
62766 1999-01-30  Jim Meyering  <meyering@ascend.com>
62767
62768         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
62769
62770         * m4/jm-mktime.m4: Make this a wrapper around the official
62771         AM_FUNC_MKTIME rather than my private copy, now that the official one
62772         is up to date.
62773         * m4/mktime.m4: Remove file.
62774
62775         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
62776         * m4/uptime.m4: Likewise.
62777         * m4/uintmax_t.m4: Likewise.
62778
62779 1999-01-28  Jim Meyering  <meyering@ascend.com>
62780
62781         * m4/jm-macros.m4: Use jm_AFS.
62782         * m4/afs.m4: New file (from fileutils' configure.in).
62783
62784         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
62785         * m4/chown.m4: Likewise.
62786         * m4/d-ino.m4: Likewise.
62787         * m4/d-type.m4: Likewise.
62788         * m4/fnmatch.m4: Likewise.
62789         * m4/getgroups.m4: Likewise.
62790         * m4/gettext.m4: Likewise.
62791         * m4/jm-mktime.m4: Likewise.
62792         * m4/jm-winsz2.m4: Likewise.
62793         * m4/lcmessage.m4: Likewise.
62794         * m4/ls-mntd-fs.m4: Likewise.
62795         * m4/malloc.m4: Likewise.
62796         * m4/memcmp.m4: Likewise.
62797         * m4/putenv.m4: Likewise.
62798         * m4/realloc.m4: Likewise.
62799         * m4/st_mtim.m4: Likewise.
62800         * m4/strftime.m4: Likewise.
62801
62802 1999-01-16  Jim Meyering  <meyering@ascend.com>
62803
62804         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
62805         (ARGMATCH_DIE_DECL): Define.
62806
62807 1999-01-12  Jim Meyering  <meyering@ascend.com>
62808
62809         * m4/Makefile.am.in: Rewrite to avoid using fmt.
62810         Reported by Lars Hecking.
62811
62812 1999-01-10  Jim Meyering  <meyering@ascend.com>
62813
62814         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
62815         gross kludge.
62816         * m4/inttypes_h.m4: Likewise.
62817         * m4/lstat.m4: Likewise.
62818         * m4/malloc.m4: Likewise.
62819         * m4/readdir.m4: Likewise.
62820         * m4/realloc.m4: Likewise.
62821         * m4/st_dm_mode.m4: Likewise.
62822         * m4/stat.m4: Likewise.
62823         * m4/utimbuf.m4: Likewise.
62824         * m4/utimes.m4: Likewise.
62825
62826         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
62827         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
62828         comments in config.h.in are meaningful.
62829
62830         * m4/jm-macros.m4: Require autoconf-2.13 here.
62831
62832         * m4/regex.m4: By default, don't use the included regex.c on systems
62833         with glibc 2.  Suggestion from Uli Drepper.
62834
62835 1999-01-02  Jim Meyering  <meyering@ascend.com>
62836
62837         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
62838
62839 1998-12-18  Jim Meyering  <meyering@ascend.com>
62840
62841         * m4/Makefile.am.in (Makefile.am): Simplify rule.
62842         Based on a suggestion from Lars Hecking.
62843
62844 1998-11-16  Paul Eggert  <eggert@twinsun.com>
62845
62846         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
62847
62848 1998-11-16  Jim Meyering  <meyering@ascend.com>
62849
62850         * m4/lfs.m4: Double-quote the `uname...` expression.
62851
62852 1998-11-14  Jim Meyering  <meyering@ascend.com>
62853
62854         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
62855         * m4/stat.m4: Likewise.
62856
62857 1998-11-03  Jim Meyering  <meyering@ascend.com>
62858
62859         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
62860         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
62861
62862 1998-10-18  Jim Meyering  <meyering@ascend.com>
62863
62864         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
62865
62866 1998-10-17  Jim Meyering  <meyering@ascend.com>
62867
62868         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
62869         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
62870         calls for those previously hard-coded headers.  Instead, take a new
62871         parameter.
62872         (jm_CHECK_DECLARATIONS): Reflect interface change.
62873         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
62874         (jm_CHECK_DECL_LOCALTIME_R): New macro.
62875
62876         * m4/mktime.m4: Test for spring-forward gap before long-running test.
62877
62878 1998-10-14  Jim Meyering  <meyering@ascend.com>
62879
62880         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
62881         instead of "TZ=America/Vancouver".  From Paul Eggert.
62882
62883 1998-10-11  Jim Meyering  <meyering@ascend.com>
62884
62885         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
62886         This adds a test for a recently added compatibility fix for mktime.c.
62887         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
62888
62889 1998-09-27  Jim Meyering  <meyering@ascend.com>
62890
62891         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
62892
62893         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
62894         ../configure.in, including a change from Gordon Matzigkeit to allow
62895         cross-compiling for the Hurd.
62896
62897         * m4/glibc.m4: New file/macro to test for the GNU C Library
62898         versions 1 and 2.  From Gordon Matzigkeit.
62899         Indent.
62900
62901 1998-09-21  Jim Meyering  <meyering@ascend.com>
62902
62903         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
62904
62905 1998-08-18  Paul Eggert  <eggert@twinsun.com>
62906
62907         Port nanosecond-resolution times to UnixWare 2.1.2 and
62908         pedantic Solaris 2.6.
62909
62910         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
62911         AC_STRUCT_ST_MTIM.
62912         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
62913         Generate name of ns member, instead of just 1 or undef.
62914         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
62915
62916 1998-08-15  Jim Meyering  <meyering@ascend.com>
62917
62918         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
62919         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
62920         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
62921         instead of jm_TYPE_SSIZE_T.
62922
62923 1998-08-12  Jim Meyering  <meyering@ascend.com>
62924
62925         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
62926
62927 1998-08-02  Jim Meyering  <meyering@ascend.com>
62928
62929         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
62930         in acconfig.h manually.
62931
62932 1998-07-31  Paul Eggert  <eggert@twinsun.com>
62933
62934         * m4/st_mtim.m4: New file.
62935
62936 1998-07-28  Jim Meyering  <meyering@ascend.com>
62937
62938         * m4/utimes.m4: Undef stat.
62939
62940 1998-07-25  Jim Meyering  <meyering@ascend.com>
62941
62942         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
62943         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
62944
62945 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
62946
62947         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
62948         uid and gid actually remain unchanged.
62949
62950 1998-07-07  Jim Meyering  <meyering@ascend.com>
62951
62952         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
62953
62954 1998-07-04  Jim Meyering  <meyering@ascend.com>
62955
62956         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
62957         to prove that this macro can be used in packages without regex.c.
62958
62959 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
62960
62961         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
62962         is to be used.
62963
62964 1998-07-03  Jim Meyering  <meyering@ascend.com>
62965
62966         * m4/gettext.m4: Add -lintl if it's found to be necessary.
62967
62968         * m4/gettext.m4: New file -- from gettext-0.10.35.
62969         * m4/lcmessage.m4: Likewise.
62970         * m4/progtest.m4: Likewise.
62971
62972         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
62973         * m4/jm-macros.m4: Require the new macro.
62974
62975 1998-06-29  Jim Meyering  <meyering@ascend.com>
62976
62977         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
62978         for the definition of NGROUPS (used in a system header included
62979         by sys/mount.h).
62980
62981 1998-06-28  Jim Meyering  <meyering@ascend.com>
62982
62983         * m4/ls-mntd-fs.m4: New file.
62984         * m4/fstypename.m4: New file.
62985
62986         * m4/jm-macros.m4: Require the new macro.
62987         * m4/jm-glibc-io.m4: New file.
62988
62989 1998-05-19  Jim Meyering  <meyering@ascend.com>
62990
62991         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
62992         * m4/lchown.m4: New file.
62993
62994         * m4/Makefile.am.in: New file.
62995         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
62996
62997 1998-05-14  Jim Meyering  <meyering@ascend.com>
62998
62999         * m4/Makefile.am (EXTRA_DIST): Add them.
63000         * m4/jm-macros.m4: New file.
63001         * m4/utimbuf.m4: New file.
63002
63003 1998-05-12  Jim Meyering  <meyering@ascend.com>
63004
63005         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
63006
63007 1998-05-11  Jim Meyering  <meyering@ascend.com>
63008
63009         * m4/isc-posix.m4: New file.
63010
63011 1998-05-10  Jim Meyering  <meyering@ascend.com>
63012
63013         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
63014
63015 1998-05-09  Jim Meyering  <meyering@ascend.com>
63016
63017         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
63018         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
63019         with automake.
63020
63021         * m4/ssize_t.m4: New file.
63022         * m4/mktime.m4: Remove file -- the new automake has this now.
63023
63024 1998-04-26  Jim Meyering  <meyering@ascend.com>
63025
63026         * m4/assert.m4: New file.
63027         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
63028
63029 1998-04-05  Jim Meyering  <meyering@ascend.com>
63030
63031         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
63032         (jm_PREREQ): Use it here.
63033
63034 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
63035
63036         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
63037         in acconfig.h.
63038
63039 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
63040
63041         * m4/prereq.m4: New file.
63042         * m4/error.m4: New file.
63043         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
63044
63045 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
63046
63047         * m4/getline.m4: Don't set am_cv_func_working_getline before the
63048         cache-check for the same variable -- that defeated the purpose of
63049         the test; the test program was never run.  This was a problem only
63050         on systems with losing getline functions -- HP-UX 10.20 is one.
63051         Reported by Bjorn Helgaas.
63052
63053 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
63054
63055         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
63056
63057 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
63058
63059         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
63060
63061         * m4/const.m4: New file.  Use an initializer in this declaration
63062         typedef int charset[2]; const charset x;
63063         Reported by Bob Glickstein.
63064
63065 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
63066
63067         * m4/chown.m4: Fix reversed types on -1 args to chown.
63068         From Kaveh Ghazi.
63069
63070 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
63071
63072         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
63073         Add lseek and memchr.
63074
63075         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
63076         T.E.Dickey <dickey@clark.net> said that some older preprocessors
63077         have a 20-character limit on names.
63078
63079 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
63080
63081         * m4/inttypes_h.m4: New file.
63082         * m4/uintmax_t.m4: New file.
63083         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
63084
63085
63086         -----
63087
63088         Local Variables:
63089         coding: utf-8
63090         End:
63091
63092         Copyright (C) 1997-2010 Free Software Foundation, Inc.
63093
63094         Copying and distribution of this file, with or without
63095         modification, are permitted provided the copyright notice
63096         and this notice are preserved.